Satishreddy
Satishreddy

Reputation: 121

Not getting device registration id from gcm

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

Answers (1)

AndroidHacker
AndroidHacker

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

Related Questions