Приложение сохраняет силу закрытия - PullRequest
0 голосов
/ 24 июля 2011

Каждый раз, когда я пытаюсь запустить этот код, приложение закрывается

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: ОШИБКА / DatabaseUtils (1472): запись исключения в посылку 07-24 14: 11: 54.835: ОШИБКА / DatabaseUtils (1472): java.lang.SecurityException: Отказ в разрешении: чтение com.android.providers.contacts.HtcContactsProvider2 uri content: //com.android.contacts/contacts/lookup/ null from pid = 6286, uid = 10226 требует android.permission.READ_CONTACTS 07-24 14: 11: 54.835: ОШИБКА / DatabaseUtils (1472): на android.content.ContentProvider $ Transport.enforceReadPermission (ContentProvider.java:307) 07-24 14: 11: 54.835: ОШИБКА / DatabaseUtils (1472): на android.content.ContentProvider $ Transport.bulkQuery (ContentProvider.java:185) 07-24 14: 11: 54.835: ОШИБКА / DatabaseUtils (1472): на android.content.ContentProviderNative.onTransact (ContentProviderNative.java:134) 07-24 14: 11: 54.835: ОШИБКА / DatabaseUtils (1472): на android.os.Binder.execTransact (Binder.java:320) 07-24 14: 11: 54.835: ОШИБКА / DatabaseUtils (1472): в dalvik.system.NativeStart.run (собственный метод) 07-24 14: 11: 54.835: DEBUG / PhoneApp (1465): EVENT_QUERY_MO_PACKAGES 07-24 14: 11: 54.865: WARN / ResourceType (1577): сбой getEntry, так как entryIndex 187 превышает тип entryCount 123 07-24 14: 11: 54.875: WARN / ResourceType (1577): сбой при получении записи для 0x7f0200bb (t = 1 e = 187) в пакете 0 (ошибка -2147483647) 07-24 14: 11: 54.875: DEBUG / Gun Bros - AirMail Push (2081): действие CoreReceiver: android.intent.action.PACKAGE_REMOVED 07-24 14: 11: 54.875: DEBUG / Gun Bros - AirMail Push (2081): Удален пакет: com.xenom.sms 07-24 14: 11: 54.885: DEBUG / AndroidRuntime (6286): выключение виртуальной машины 07-24 14: 11: 54.885: WARN / dalvikvm (6286): threadid = 1: поток завершается с необработанным исключением (группа = 0x4001d5a0) 07-24 14: 11: 54.905: ОТЛАДКА / приемник (3657): обработчик включен 07-24 14: 11: 54.935: ОШИБКА / AndroidRuntime (6286): ИСКЛЮЧИТЕЛЬНОЕ ИСКЛЮЧЕНИЕ: основное 07-24 14: 11: 54.935: ОШИБКА / AndroidRuntime (6286): java.lang.RuntimeException: невозможно запустить действие ComponentInfo {com.xenom.sms / com.xenom.sms.SMSLookupActivity}: java.lang.SecurityException: разрешение Отказ: чтение com.android.providers.contacts.HtcContactsProvider2 uri content: //com.android.contacts/contacts/lookup/null from pid = 6286, uid = 10226 требует android.permission.READ_CONTACTS 07-24 14: 11: 54.935: ОШИБКА / AndroidRuntime (6286): на android.app.ActivityThread.performLaunchActivity (ActivityThread.java:1816) 07-24 14: 11: 54.935: ОШИБКА / AndroidRuntime (6286): на android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:1837) 07-24 14: 11: 54.935: ОШИБКА / AndroidRuntime (6286): на android.app.ActivityThread.access $ 1500 (ActivityThread.java:132) 07-24 14: 11: 54.935: ОШИБКА / AndroidRuntime (6286): на android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1033) 07-24 14: 11: 54.935: ОШИБКА / AndroidRuntime (6286): на android.os.Handler.dispatchMessage (Handler.java:99) 07-24 14: 11: 54.935: ОШИБКА / AndroidRuntime (6286): на android.os.Looper.loop (Looper.java:143) 07-24 14: 11: 54.935: ОШИБКА / AndroidRuntime (6286): на android.app.ActivityThread.main (ActivityThread.java:4196) 07-24 14: 11: 54.935: ОШИБКА / AndroidRuntime (6286): на java.lang.reflect.Method.invokeNative (собственный метод) 07-24 14: 11: 54.935: ОШИБКА / AndroidRuntime (6286): в java.lang.reflect.Method.invoke (Method.java:507) 07-24 14: 11: 54.935: ОШИБКА / AndroidRuntime (6286): на com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:839) 07-24 14: 11: 54.935: ОШИБКА / AndroidRuntime (6286): на com.android.internal.os.ZygoteInit.main (ZygoteInit.java:597) 07-24 14: 11: 54.935: ОШИБКА / AndroidRuntime (6286): в dalvik.system.NativeStart.main (собственный метод) 07-24 14: 11: 54.935: ОШИБКА / AndroidRuntime (6286): вызвано: java.lang.SecurityException: отказ в разрешении: чтение com.android.providers.contacts.HtcContactsProvider2 uri content: //com.android.contacts/contacts / lookup / null from pid = 6286, uid = 10226 требует android.permission.READ_CONTACTS07-24 14: 11: 54.935: ОШИБКА / AndroidRuntime (6286): на android.os.Parcel.readException (Parcel.java:1322) 07-24 14: 11: 54.935: ОШИБКА / AndroidRuntime (6286): на android.database.DatabaseUtils.readExceptionFromParcel (DatabaseUtils.java:160) 07-24 14: 11: 54.935: ОШИБКА / AndroidRuntime (6286): в android.database.DatabaseUtils.readExceptionFromParcel (DatabaseUtils.java:114) 07-24 14:11:54.935: ОШИБКА / AndroidRuntime (6286): в android.content.ContentProviderProxy.bulkQueryInternal (ContentProviderNative.java:372) 07-24 14: 11: 54.935: ОШИБКА / AndroidRuntime (6286): в android.content.ContentProviderProxy.query (android).java: 408) 07-24 14: 11: 54.935: ОШИБКА / AndroidRuntime (6286): на android.content.ContentResolver.query (ContentResolver.java:264) 07-24 14: 11: 54.935: ОШИБКА / AndroidRuntime (6286): в com.xenom.sms.SMSLookupActivity.onCreate (SMSLookupActivity.java:21) 07-24 14: 11: 54.935: ОШИБКА / AndroidRuntime (6286): в android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1093)07-24 14:11:54.935: ОШИБКА / AndroidRuntime (6286): на android.app.ActivityThread.performLaunchActivity (ActivityThread.java:1780) 07-24 14: 11: 54.935: ОШИБКА / AndroidRuntime (6286): ... еще 11 07-24 14: 11: 54.945: DEBUG / PhoneApp (1465): - N1 = 2 07-24 14: 11: 54.995: WARN / ActivityManager (1331): принудительно завершить действие com.xenom.sms / .SMSLookupActivity 07-24 14:11: 55.045: WARN / ResourceType (1577): сбой getEntry, так как entryIndex 1041 выходит за пределы типа entryCount 123 07-24 14: 11: 55.045: ОТЛАДКА / получатель (3657): получение сообщения: com.xenom.sms 2 07-24 14:11: 55.045: WARN / ResourceType (1577): сбой при получении записи для 0x7f020411 (t = 1 e = 1041) в пакете 0 (ошибка -2147483647) 07-24 14: 11: 55.045: WARN / ResourceType (1577): ошибка getEntryпотому что entryIndex 1042 выходит за пределы типа entryCount 123 07-24 14: 11: 55.045: WARN / ResourceType (1577): сбой при получении записи для 0x7f020412 (t = 1 e = 1042) в пакете 0 (ошибка -2147483647) 07-24 14:11: 55.055: WARN / ResourceType (1577): сбой getEntry, так как entryIndex 1043 выходит за пределы типа entryCount123 07-24 14: 11: 55.055: WARN / ResourceType (1577): сбой при получении записи для 0x7f020413 (t = 1 e = 1043) в пакете 0 (ошибка -2147483647) 07-24 14: 11: 55.055: WARN / ResourceType(1577): сбой getEntry, так как entryIndex 1419 выходит за рамки типа entryCount 123 07-24 14: 11: 55.055: WARN / ResourceType (1577): сбой при получении записи для 0x7f02058b (t = 1 e = 1419) в пакете 0 (ошибка -2147483647) 07-24 14: 11: 55.055: DEBUG / PhoneApp (1465): - N2 = 0 07-24 14: 11: 55.065: WARN / ResourceType (1577): сбой getEntry, так как entryIndex 545 выходит за рамки типа entryCount 123 07-24 14: 11: 55.075: WARN / ResourceType (1577): сбой при получении записи для 0x7f020221 (t = 1 e = 545) в пакете 0 (ошибка -2147483647) 07-24 14: 11: 55.095: DEBUG / dalvikvm (6166): GC_EXPLICIT освобожден 538K, 54% свободен 2919K / 6343K, внешний 0K / 512K, приостановлен 2181ms 07-24 14: 11: 55.125: DEBUG / dalvikvm (6214): GC_CONCURRENT освобожден 149K, 45% бесплатно 3497K / 6279K, внешний 17K / 516, пауза 43мс + 5мс 07-24 14: 11: 55.165: DEBUG / PhoneApp (1465): - N3 = 0 07-24 14: 11: 55.205: WARN / ResourceType (1577): сбой getEntry, так как entryIndex 187 выходит за пределы типа entryCount 123 07-24 14: 11: 55.215: WARN / ResourceType (1577): сбой при получении записи для 0x7f0200bb (t = 1 e = 187) в пакете 0 (ошибка -2147483647) 07-24 14: 11: 55.215: WARN / ResourceType (1577): сбой getEntry, так как entryIndex 1041 выходит за пределы типа entryCount 123 07-24 14: 11: 55.215: WARN / ResourceType (1577): сбой при получении записи для 0x7f020411 (t = 1 e = 1041) в пакете 0 (ошибка -2147483647) 07-24 14: 11: 55.215: WARN / ResourceType (1577): сбой getEntry, так как entryIndex 1042 выходит за пределы типа entryCount 123 07-24 14: 11: 55.215:WARN / ResourceType (1577): сбой при получении записи для 0x7f020412 (t = 1 e = 1042) в пакете 0 (ошибка -2147483647) 07-24 14: 11: 55.215: WARN / ResourceType (1577): сбой getEntry, так как entryIndex 1043 имеет значениеза пределами типа entryCount 123 07-24 14: 11: 55.215: WARN / ResourceType (1577): сбой при получении записи для 0x7f020413 (t = 1 e = 1043) в пакете 0 (ошибка -2147483647)07-24 14: 11: 55.215: WARN / ResourceType (1577): сбой getEntry, так как entryIndex 1419 выходит за рамки типа entryCount 123 07-24 14: 11: 55.215: WARN / ResourceType (1577): сбой при получении записи для 0x7f02058b (t =1 e = 1419) в пакете 0 (ошибка -2147483647) 07-24 14: 11: 55.215: WARN / ResourceType (1577): сбой getEntry, так как entryIndex 545 превышает тип entryCount 123 07-24 14: 11: 55.215: WARN /ResourceType (1577): ошибка при получении записи для 0x7f020221 (t = 1 e = 545) в пакете 0 (ошибка -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 07-24 14: 11: 55.265: INFO / MountReceiver (6166): отключено com.xenom.sms 07-24 14:11:55.275: INFO / ggheart (1861): onStop

Ответы [ 2 ]

2 голосов
/ 24 июля 2011
<uses-permission android:name="android.permission.READ_CONTACTS" /> 

Добавить это разрешение в манифест

0 голосов
/ 24 июля 2011

Вы добавили разрешение на чтение?Если нет, то добавьте

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...