Est-ce que quelqu'un sait comment accéder aux contacts du Galaxy S?Accéder à l'annuaire sur Galaxy S bloque l'application
J'ai cette ligne de code:
Intent intent = new Intent(Intent.ACTION_VIEW, Contacts.CONTENT_URI);
startActivity(intent);
et il fonctionne sur l'émulateur, ainsi que sur le Samsung i5700. J'ai essayé d'exécuter mon application sur Samsung i9000 (Galaxy S), mais il se bloque.
Je reçois l'erreur suivante de LogCat:
08-23 11:28:19.511: INFO/ActivityManager(2234): Starting activity: Intent { act=android.intent.action.VIEW dat=content://com.android.contacts/contacts }
08-23 11:28:19.516: DEBUG/AndroidRuntime(5067): Shutting down VM
08-23 11:28:19.516: WARN/dalvikvm(5067): threadid=3: thread exiting with uncaught exception (group=0x4001dc20)
08-23 11:28:19.516: ERROR/AndroidRuntime(5067): Uncaught handler: thread main exiting due to uncaught exception
08-23 11:28:19.526: INFO/Lights(2234): set_light_backlight[0~255]:(42) gamma_value:(4) BRIGHTNESS_MODE(1)
08-23 11:28:19.526: VERBOSE/AudioHardwareALSA(2183): ------------------------>>>>>> ALSA OPEN mode 0,device 2
08-23 11:28:19.526: ERROR/AndroidRuntime(5067): android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=content://com.android.contacts/contacts }
08-23 11:28:19.526: ERROR/AndroidRuntime(5067): at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1408)
08-23 11:28:19.526: ERROR/AndroidRuntime(5067): at android.app.Instrumentation.execStartActivity(Instrumentation.java:1378)
08-23 11:28:19.526: ERROR/AndroidRuntime(5067): at android.app.Activity.startActivityForResult(Activity.java:2758)
08-23 11:28:19.526: ERROR/AndroidRuntime(5067): at android.app.Activity.startActivity(Activity.java:2864)
08-23 11:28:19.526: ERROR/AndroidRuntime(5067): at au.com.orionmedia.vidcall.KeypadActivity.onClick(KeypadActivity.java:313)
08-23 11:28:19.526: ERROR/AndroidRuntime(5067): at android.view.View.performClick(View.java:2417)
08-23 11:28:19.526: ERROR/AndroidRuntime(5067): at android.view.View.onTouchEvent(View.java:4232)
08-23 11:28:19.526: ERROR/AndroidRuntime(5067): at android.view.View.dispatchTouchEvent(View.java:3762)
08-23 11:28:19.526: ERROR/AndroidRuntime(5067): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
08-23 11:28:19.526: ERROR/AndroidRuntime(5067): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
08-23 11:28:19.526: ERROR/AndroidRuntime(5067): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
08-23 11:28:19.526: ERROR/AndroidRuntime(5067): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
08-23 11:28:19.526: ERROR/AndroidRuntime(5067): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
08-23 11:28:19.526: ERROR/AndroidRuntime(5067): at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1713)
08-23 11:28:19.526: ERROR/AndroidRuntime(5067): at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1131)
08-23 11:28:19.526: ERROR/AndroidRuntime(5067): at android.app.Activity.dispatchTouchEvent(Activity.java:2070)
08-23 11:28:19.526: ERROR/AndroidRuntime(5067): at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1697)
08-23 11:28:19.526: ERROR/AndroidRuntime(5067): at android.view.ViewRoot.handleMessage(ViewRoot.java:1691)
08-23 11:28:19.526: ERROR/AndroidRuntime(5067): at android.os.Handler.dispatchMessage(Handler.java:99)
08-23 11:28:19.526: ERROR/AndroidRuntime(5067): at android.os.Looper.loop(Looper.java:123)
08-23 11:28:19.526: ERROR/AndroidRuntime(5067): at android.app.ActivityThread.main(ActivityThread.java:4363)
08-23 11:28:19.526: ERROR/AndroidRuntime(5067): at java.lang.reflect.Method.invokeNative(Native Method)
08-23 11:28:19.526: ERROR/AndroidRuntime(5067): at java.lang.reflect.Method.invoke(Method.java:521)
08-23 11:28:19.526: ERROR/AndroidRuntime(5067): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:862)
08-23 11:28:19.526: ERROR/AndroidRuntime(5067): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:620)
08-23 11:28:19.526: ERROR/AndroidRuntime(5067): at dalvik.system.NativeStart.main(Native Method)
J'ai essayé d'accéder au répertoire du lanceur, ce qui est ce que je reçois:
08-23 17:50:53.885: INFO/ActivityManager(2244): Starting activity: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.android.contacts/com.sec.android.app.contacts.PhoneBookTopMenuActivity }
08-23 17:50:54.055: INFO/ContactsListActivity(2401): Called with action: com.android.contacts.action.LIST_DEFAULT
08-23 17:50:54.205: INFO/ActivityManager(2244): Displayed activity com.android.contacts/com.sec.android.app.contacts.PhoneBookTopMenuActivity: 208 ms (total 1265628 ms)
Sur la base de ces journaux, je suis deviner que le téléphone n'utilise pas l'application de contacts par défaut et ne gère pas l'intention que je tire de mon application.
J'ai essayé de changer l'URI que je passe à l'intention, mais cela ne fonctionne pas non plus.
Est-ce que quelqu'un d'autre a vu ce problème? Des suggestions sur ce que je peux essayer ensuite?
Merci! - Zarah
Salut @CommonsWare! J'ai omis de mentionner que j'ai aussi essayé d'utiliser cela, mais j'ai toujours la même exception que ci-dessus. Vous avez raison, Samsung Galaxy S est Android 2.1. Ce qui me déroute dans ce cas est que mon autre téléphone de test, Samsung Galaxy Spica est également Android 2.1 et mon intention fonctionne là-bas. Je suis vraiment perdue et je ne sais plus quoi faire. – Zarah
@Zarah: il se trouve que cela a déjà été signalé, et j'ai déposé un bug pour obtenir le CTS corrigé pour le problème de compatibilité de Samsung: http://code.google.com/p/android/issues/detail?id=10143 You peut utiliser 'PackageManager' et' queryIntentActivities() 'pour tester si' Intent' correspondra à n'importe quoi, puis désactiver le choix du menu ou le bouton ou tout ce qui déclenche le chemin du code où vous essayez de démarrer l'activité. – CommonsWare
Merci! J'ai mis en œuvre ce que vous avez suggéré et il suffit de définir le bouton à View.GONE pour éviter toute confusion. :) J'espère que cela se corrige bientôt! – Zarah