2013-12-03 3 views
0

В моем приложении для Android я добавил службу уведомлений для этого, я последовал за this link.
Это дает это исключение:Не удалось получить идентификатор регистрации устройства от gcm

"android.content.pm.PackageManager $ NameNotFoundException:"

Как я могу решить эту проблему?

manifest.xml 
<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="17"/> 
<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.GET_ACCOUNTS" /> 
<uses-permission android:name="android.permission.WAKE_LOCK" /> 
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" /> 

<permission android:name="com.example.gcm.permission.C2D_MESSAGE" 
    android:protectionLevel="signature" /> 
<uses-permission android:name="com.example.gcm.permission.C2D_MESSAGE" /> 

<application ...> 
    <receiver 
     android:name=".GcmBroadcastReceiver" 
     android:permission="com.google.android.c2dm.permission.SEND" > 
     <intent-filter> 
      <action android:name="com.google.android.c2dm.intent.RECEIVE" /> 
      <category android:name="com.example.gcm" /> 
     </intent-filter> 
    </receiver> 
    <service android:name=".GcmIntentService" /> 
</application> 

Журнал ошибок

12-03 12: 01: 40,868: I/PackageManager (585): Пакет com.example.gcm codePath изменился с /data/app/com.example. gcm-2.apk до /data/app/com.example.gcm-1.apk; Сохранение данных и использование новых 12-03 12: 01: 40.878: W/ActivityManager (585): Невозможно получить данные 12-03 12: 01: 40.878: W/ActivityManager (585): geandroid.content.pm. PackageManager $ NameNotFoundException: com.example.gcm 12-03 12: 01: 40.878: W/ActivityManager (585): at android.app.ApplicationPackageManager.getPackaGids (ApplicationPackageManager.java:143) 12-03 12:01: 40.878: W/ActivityManager (585): at com.android.server.am.ActivityManagerService.startProcessLocked (ActivityManagerService.java:2559) 12-03 12: 01: 40.878: W/ActivityManager (585): at com. android.server.am.ActivityManagerService.startProcessLocked (ActivityManagerService.java:2526) 12-03 12: 01: 40.878: W/ActivityManager (58 5): at com.android.server.am.ActivityStackSupervisor.startSpecificActivityLocked (ActivityStackSupervisor.java:1066) 12-03 12: 01: 40.878: W/ActivityManager (585): at com.android.server.am. ActivityStack.resumeTopActivityLocked (ActivityStack.java:1633) 12-03 12: 01: 40.878: W/ActivityManager (585): at com.android.server.am.ActivityStack.resumeTopActivityLocked (ActivityStack.java:1221) 12- 03 12: 01: 40.878: W/ActivityManager (585): at com.android.server.am.ActivityStack.finishCurrentActivityLocked (ActivityStack.java:2482) 12-03 12: 01: 40.878: W/ActivityManager (585) : at com.android.server.am.ActivityStack.finishActivityLocked (ActivityStack.java:2415) 12-03 12: 01: 40.878: W/ActivityManag er (585): at com.android.server.am.ActivityStack.forceStopPackageLocked (ActivityStack.java:3360) 12-03 12: 01: 40.878: W/ActivityManager (585): at com.android.server. am.ActivityStackSupervisor.forceStopPackageLocked (ActivityStackSupervisor.java:1953) 12-03 12: 01: 40,878: Вт/ActivityManager (585): в com.android.server.am.ActivityManagerService.forceStopPackageLocked (ActivityManagerService.java:4507) 12-03 12: 01: 40.878: W/ActivityManager (585): at com.android.server.am.ActivityManagerService.access $ 300 (ActivityManagerService.java:203) 12-03 12: 01: 40.878: W/ActivityManager (585): at com.android.server.am.ActivityManagerService $ 2.handleMessage (ActivityManagerService.java:1309) 12-03 12: 01: 40,878: W/ActivityManager (585): в com.android.server.am.ActivityManagerService $ AThread.run (ActivityManagerService.java:1848)

+0

добавить полный журнал ошибок –

+0

Также разместите свой код и файл манифеста. –

ответ

1

Если устройство не настроен с любым Google тогда вы столкнетесь с этой проблемой. Просто добавьте к нему счет.

Также попробуйте это в своем манифесте.

<!-- GCM connects to Internet Services. --> 
<uses-permission android:name="android.permission.INTERNET" /> 

<!-- GCM requires a Google account. --> 
<uses-permission android:name="android.permission.GET_ACCOUNTS" /> 

<!-- Keeps the processor from sleeping when a message is received. --> 
<uses-permission android:name="android.permission.WAKE_LOCK" /> 

<!-- Creates a custom permission so only this app can receive its messages. --> 
<permission 
    android:name="app.drugs.talksooner.permission.C2D_MESSAGE" 
    android:protectionLevel="signature" /> 

<uses-permission android:name="app.drugs.talksooner.permission.C2D_MESSAGE" /> 

<!-- This app has permission to register and receive data message. --> 
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" /> 

<!-- Network State Permissions to detect Internet status --> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 

<!-- Permission to vibrate --> 
<uses-permission android:name="android.permission.VIBRATE" /> 

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 
<uses-permission android:name="android.permission.CALL_PHONE"/> 
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" /> 
+0

У моего устройства были службы google account.check_play, возвращает true. – Satishreddy

+0

Устанавливается ли в вашей учетной записи автоматическое синхронное – AndroidHacker

+1

Можете ли вы объяснить, что автоматизировано синхронно. – Satishreddy

Смежные вопросы