Does anyone know how to access the contacts from the Galaxy S?
I have this line of code:
Intent intent = new Intent(Intent.ACTION_VIEW, Contacts.CONTENT_URI);
startActivity(intent);
and it works on the emulator as well as on the Samsung i5700. I tried running my app on Samsung i9000 (Galaxy S) but it crashes.
I am getting the following error from 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)
I tried accessing the phonebook from the launcher, and this is what I get:
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)
Based on those logs, I am guessing that the phone does not use the default contacts application and it does not handle the intent I am firing from my app.
I tried changing the URI I am passing to the intent, but it doesn't work either.
Has anybody else seen this problem? Any suggestions on what I can try next?
Thank you! - Zarah
Try ContactsContract.Contacts.CONTACTS_URI
instead. You are using the Android 1.x API, and it is possible Samsung failed to test that sufficiently. My understanding is that the Samsung Galaxy S is an Android 2.x device.
we did a small fix but hoping that samsung will have it updated (we did catched that for the exception part soon)
use ComponentName
Try this... It worked for me. (GALAXY S)
Intent intent = new Intent();
intent.setAction(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
ComponentName componentName = new ComponentName("com.android.contacts", "com.sec.android.app.contacts.PhoneBookTopMenuActivity");
intent.setComponent(componentName);
Then start your activity...
精彩评论