Reputation: 11
Every time i try to run this code the app force closes
package com.test.sms;
import android.app.Activity;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.provider.ContactsContract.Contacts;
public class SMSLookupActivity extends Activity {
private String lookupKey;
/** Called when the activity is first created. */
@SuppressWarnings("unused")
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Uri lookupUri = Uri.withAppendedPath(Contacts.CONTENT_LOOKUP_URI, lookupKey);
Cursor c = getContentResolver().query(lookupUri, new String[]{Contacts.DISPLAY_NAME}, lookupKey, null, lookupKey );
try {
c.moveToFirst();
String displayName = c.getString(0);
} finally {
c.close();
}
}
}
Logcat
07-24 14:11:54.835: ERROR/DatabaseUtils(1472): Writing exception to parcel 07-24 14:11:54.835: ERROR/DatabaseUtils(1472): java.lang.SecurityException: Permission Denial: reading com.android.providers.contacts.HtcContactsProvider2 uri content://com.android.contacts/contacts/lookup/null from pid=6286, uid=10226 requires android.permission.READ_CONTACTS 07-24 14:11:54.835: ERROR/DatabaseUtils(1472): at android.content.ContentProvider$Transport.enforceReadPermission(ContentProvider.java:307) 07-24 14:11:54.835: ERROR/DatabaseUtils(1472): at android.content.ContentProvider$Transport.bulkQuery(ContentProvider.java:185) 07-24 14:11:54.835: ERROR/DatabaseUtils(1472): at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:134) 07-24 14:11:54.835: ERROR/DatabaseUtils(1472): at android.os.Binder.execTransact(Binder.java:320) 07-24 14:11:54.835: ERROR/DatabaseUtils(1472): at dalvik.system.NativeStart.run(Native Method) 07-24 14:11:54.835: DEBUG/PhoneApp(1465): EVENT_QUERY_MO_PACKAGES 07-24 14:11:54.865: WARN/ResourceType(1577): getEntry failing because entryIndex 187 is beyond type entryCount 123 07-24 14:11:54.875: WARN/ResourceType(1577): Failure getting entry for 0x7f0200bb (t=1 e=187) in package 0 (error -2147483647) 07-24 14:11:54.875: DEBUG/Gun Bros - AirMail Push(2081): CoreReceiver action: android.intent.action.PACKAGE_REMOVED 07-24 14:11:54.875: DEBUG/Gun Bros - AirMail Push(2081): Package Removed: com.xenom.sms 07-24 14:11:54.885: DEBUG/AndroidRuntime(6286): Shutting down VM 07-24 14:11:54.885: WARN/dalvikvm(6286): threadid=1: thread exiting with uncaught exception (group=0x4001d5a0) 07-24 14:11:54.905: DEBUG/receiver(3657): handler is inited 07-24 14:11:54.935: ERROR/AndroidRuntime(6286): FATAL EXCEPTION: main 07-24 14:11:54.935: ERROR/AndroidRuntime(6286): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.xenom.sms/com.xenom.sms.SMSLookupActivity}: java.lang.SecurityException: Permission Denial: reading com.android.providers.contacts.HtcContactsProvider2 uri content://com.android.contacts/contacts/lookup/null from pid=6286, uid=10226 requires android.permission.READ_CONTACTS 07-24 14:11:54.935: ERROR/AndroidRuntime(6286): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1816) 07-24 14:11:54.935: ERROR/AndroidRuntime(6286): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1837) 07-24 14:11:54.935: ERROR/AndroidRuntime(6286): at android.app.ActivityThread.access$1500(ActivityThread.java:132) 07-24 14:11:54.935: ERROR/AndroidRuntime(6286): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1033) 07-24 14:11:54.935: ERROR/AndroidRuntime(6286): at android.os.Handler.dispatchMessage(Handler.java:99) 07-24 14:11:54.935: ERROR/AndroidRuntime(6286): at android.os.Looper.loop(Looper.java:143) 07-24 14:11:54.935: ERROR/AndroidRuntime(6286): at android.app.ActivityThread.main(ActivityThread.java:4196) 07-24 14:11:54.935: ERROR/AndroidRuntime(6286): at java.lang.reflect.Method.invokeNative(Native Method) 07-24 14:11:54.935: ERROR/AndroidRuntime(6286): at java.lang.reflect.Method.invoke(Method.java:507) 07-24 14:11:54.935: ERROR/AndroidRuntime(6286): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 07-24 14:11:54.935: ERROR/AndroidRuntime(6286): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 07-24 14:11:54.935: ERROR/AndroidRuntime(6286): at dalvik.system.NativeStart.main(Native Method) 07-24 14:11:54.935: ERROR/AndroidRuntime(6286): Caused by: java.lang.SecurityException: Permission Denial: reading com.android.providers.contacts.HtcContactsProvider2 uri content://com.android.contacts/contacts/lookup/null from pid=6286, uid=10226 requires android.permission.READ_CONTACTS 07-24 14:11:54.935: ERROR/AndroidRuntime(6286): at android.os.Parcel.readException(Parcel.java:1322) 07-24 14:11:54.935: ERROR/AndroidRuntime(6286): at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:160) 07-24 14:11:54.935: ERROR/AndroidRuntime(6286): at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:114) 07-24 14:11:54.935: ERROR/AndroidRuntime(6286): at android.content.ContentProviderProxy.bulkQueryInternal(ContentProviderNative.java:372) 07-24 14:11:54.935: ERROR/AndroidRuntime(6286): at android.content.ContentProviderProxy.query(ContentProviderNative.java:408) 07-24 14:11:54.935: ERROR/AndroidRuntime(6286): at android.content.ContentResolver.query(ContentResolver.java:264) 07-24 14:11:54.935: ERROR/AndroidRuntime(6286): at com.xenom.sms.SMSLookupActivity.onCreate(SMSLookupActivity.java:21) 07-24 14:11:54.935: ERROR/AndroidRuntime(6286): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1093) 07-24 14:11:54.935: ERROR/AndroidRuntime(6286): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1780) 07-24 14:11:54.935: ERROR/AndroidRuntime(6286): ... 11 more 07-24 14:11:54.945: DEBUG/PhoneApp(1465): -- N1 =2 07-24 14:11:54.995: WARN/ActivityManager(1331): Force finishing activity com.xenom.sms/.SMSLookupActivity 07-24 14:11:55.045: WARN/ResourceType(1577): getEntry failing because entryIndex 1041 is beyond type entryCount 123 07-24 14:11:55.045: DEBUG/receiver(3657): receive msg : com.xenom.sms 2 07-24 14:11:55.045: WARN/ResourceType(1577): Failure getting entry for 0x7f020411 (t=1 e=1041) in package 0 (error -2147483647) 07-24 14:11:55.045: WARN/ResourceType(1577): getEntry failing because entryIndex 1042 is beyond type entryCount 123 07-24 14:11:55.045: WARN/ResourceType(1577): Failure getting entry for 0x7f020412 (t=1 e=1042) in package 0 (error -2147483647) 07-24 14:11:55.055: WARN/ResourceType(1577): getEntry failing because entryIndex 1043 is beyond type entryCount 123 07-24 14:11:55.055: WARN/ResourceType(1577): Failure getting entry for 0x7f020413 (t=1 e=1043) in package 0 (error -2147483647) 07-24 14:11:55.055: WARN/ResourceType(1577): getEntry failing because entryIndex 1419 is beyond type entryCount 123 07-24 14:11:55.055: WARN/ResourceType(1577): Failure getting entry for 0x7f02058b (t=1 e=1419) in package 0 (error -2147483647) 07-24 14:11:55.055: DEBUG/PhoneApp(1465): -- N2 =0 07-24 14:11:55.065: WARN/ResourceType(1577): getEntry failing because entryIndex 545 is beyond type entryCount 123 07-24 14:11:55.075: WARN/ResourceType(1577): Failure getting entry for 0x7f020221 (t=1 e=545) in package 0 (error -2147483647) 07-24 14:11:55.095: DEBUG/dalvikvm(6166): GC_EXPLICIT freed 538K, 54% free 2919K/6343K, external 0K/512K, paused 2181ms 07-24 14:11:55.125: DEBUG/dalvikvm(6214): GC_CONCURRENT freed 149K, 45% free 3497K/6279K, external 17K/516K, paused 43ms+5ms 07-24 14:11:55.165: DEBUG/PhoneApp(1465): -- N3 =0 07-24 14:11:55.205: WARN/ResourceType(1577): getEntry failing because entryIndex 187 is beyond type entryCount 123 07-24 14:11:55.215: WARN/ResourceType(1577): Failure getting entry for 0x7f0200bb (t=1 e=187) in package 0 (error -2147483647) 07-24 14:11:55.215: WARN/ResourceType(1577): getEntry failing because entryIndex 1041 is beyond type entryCount 123 07-24 14:11:55.215: WARN/ResourceType(1577): Failure getting entry for 0x7f020411 (t=1 e=1041) in package 0 (error -2147483647) 07-24 14:11:55.215: WARN/ResourceType(1577): getEntry failing because entryIndex 1042 is beyond type entryCount 123 07-24 14:11:55.215: WARN/ResourceType(1577): Failure getting entry for 0x7f020412 (t=1 e=1042) in package 0 (error -2147483647) 07-24 14:11:55.215: WARN/ResourceType(1577): getEntry failing because entryIndex 1043 is beyond type entryCount 123 07-24 14:11:55.215: WARN/ResourceType(1577): Failure getting entry for 0x7f020413 (t=1 e=1043) in package 0 (error -2147483647) 07-24 14:11:55.215: WARN/ResourceType(1577): getEntry failing because entryIndex 1419 is beyond type entryCount 123 07-24 14:11:55.215: WARN/ResourceType(1577): Failure getting entry for 0x7f02058b (t=1 e=1419) in package 0 (error -2147483647) 07-24 14:11:55.215: WARN/ResourceType(1577): getEntry failing because entryIndex 545 is beyond type entryCount 123 07-24 14:11:55.215: WARN/ResourceType(1577): Failure getting entry for 0x7f020221 (t=1 e=545) in package 0 (error -2147483647) 07-24 14:11:55.265: INFO/ApplicationChangeReceiverAbc(6166): android.intent.action.PACKAGE_REMOVED 07-24 14:11:55.265: INFO/ApplicationChangeReceiverAbc(6166): com.xenom.sms removed 07-24 14:11:55.265: INFO/MountReceiver(6166): disabilito com.xenom.sms 07-24 14:11:55.275: INFO/ggheart(1861): onStop
Upvotes: 0
Views: 1476
Reputation: 50538
<uses-permission android:name="android.permission.READ_CONTACTS" />
Add this permission to your manifest
Upvotes: 2