I am trying to get the device registration ID (testing using emulator) to configure push notifications using GCM.
I tried the following code that gives me the following error:
Unable to start service Intent { act=com.google.android.c2dm.intent.REGISTRATION (has extras) } U=0: not found
Manifest file
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.me.pushnotifications" android:versionCode="1" android:versionName="1.0" > <uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.GET_ACCOUNTS"/> <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE"/> <permission android:name="com.me.pushnotifications.permission.C2D_MESSAGE" android:protectionLevel="signature" /> <uses-permission android:name="com.me.pushnotifications.permission.C2D_MESSAGE" /> <uses-sdk android:minSdkVersion="10" android:targetSdkVersion="18" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <receiver android:name="com.me.pushnotifications.MyBroadcastReceiver" android:permission="com.google.android.c2dm.permission.SEND"> <intent-filter> <action android:name="com.google.android.c2dm.intent.RECEIVE"/> <action android:name="com.google.android.c2dm.intent.REGISTRATION"/> <category android:name="com.me.pushnotifications"/> </intent-filter> </receiver> <activity android:name="com.me.pushnotifications.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
I am using BroadcastReceiver to achieve this:
package com.me.pushnotifications; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.util.Log; public class MyBroadcastReceiver extends BroadcastReceiver{ @Override public void onReceive(Context arg0, Intent intent) {
Mainactivity
package com.me.pushnotifications; import android.app.Activity; import android.app.PendingIntent; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.util.Log; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); final Context context = getApplicationContext(); final String appId = getResources().getString(R.string.appId) ; Log.i("appName::",appId); Button activateButton,deactivateButton; activateButton = (Button)findViewById(R.id.activateButton); deactivateButton = (Button)findViewById(R.id.deactivateButton); activateButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) {
I installed the Google API for API level 18. What could be causing the problem?
source share