Reputation: 121
In my android application, I added notification service for this, I followed this link.
It gives this exception:
"android.content.pm.PackageManager$NameNotFoundException:"
How can I resolve this problem?
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>
Error log
12-03 12:01:40.868: I/PackageManager(585): Package com.example.gcm codePath changed from /data/app/com.example.gcm-2.apk to /data/app/com.example.gcm-1.apk; Retaining data and using new 12-03 12:01:40.878: W/ActivityManager(585): Unable to retrieve gids 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(585): 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/ActivityManager(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: W/ActivityManager(585): at 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): at com.android.server.am.ActivityManagerService$AThread.run(ActivityManagerService.java:1848)
Upvotes: 0
Views: 2241
Reputation: 3596
If your device is not configured with any Google account then you will face this problem. Simply add an account to it.
Also, try this in your manifest.
<!-- 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" />
Upvotes: 1