导入android.app.Activity;导入android.os.Bundle;导入android.util.Log;导入 android.widget.TextView;导入静态 com.example.gcm_id.CommonUtilities.SENDER_ID;
import com.google.android.gcm.GCMRegistrar; public class MainActivity extends Activity { private String TAG = "** pushAndroidActivity **"; private TextView mDisplay; //static final String SENDER_ID ="628298704769"; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); checkNotNull(SENDER_ID,"SENDER_ID"); //Log.v(TAG, "GCMRegistrar"); GCMRegistrar.checkDevice(this); GCMRegistrar.checkManifest(this); setContentView(R.layout.activity_main); mDisplay = (TextView) findViewById(R.id.display); final String regId = GCMRegistrar.getRegistrationId(this); Log.i(TAG, "registration id ===== "+regId); if (regId.equals("")) { GCMRegistrar.register(this, SENDER_ID); } else { Log.v(TAG, "Already registered"); } mDisplay.setText("ffffff"+regId); } // final String regId = GCMRegistrar.getRegistrationId(this); // Log.i(TAG, "registration id ===== "+regId); // // if (regId.equals("")) { // GCMRegistrar.register(this, SENDER_ID); // } else { // Log.v(TAG, "Already registered"); // } // // mDisplay.setText("ffffff "+regId); // // } private void checkNotNull(Object reference, String name) { if (reference == null) { throw new NullPointerException(getString(R.string.hello_world, name, name)); } } @Override protected void onPause() { super.onPause(); GCMRegistrar.unregister(this); } } GCMBaseintentservice:- package com.example.gcm_id; import android.content.Context; import android.content.Intent; import android.util.Log; import static com.example.gcm_id.CommonUtilities.SENDER_ID; import com.google.android.gcm.GCMBaseIntentService; public class GCMIntentService extends GCMBaseIntentService { //static final String SENDER_ID = "628298704769"; public GCMIntentService() { super(SENDER_ID); } private static final String TAG = "===GCMIntentService==="; @Override protected void onRegistered(Context arg0, String registrationId) { Log.i(TAG, "Device registered: regId = " + registrationId); } @Override protected void onUnregistered(Context arg0, String arg1) { Log.i(TAG, "unregistered = "+arg1); } @Override protected void onMessage(Context arg0, Intent arg1) { Log.i(TAG, "new message= "); } @Override protected void onError(Context arg0, String errorId) { Log.i(TAG, "Received error: " + errorId); } @Override protected boolean onRecoverableError(Context context, String errorId) { return super.onRecoverableError(context, errorId); } } String KEY:= public final class CommonUtilities { static final String SENDER_ID = "628298704769"; }
错误 LOG_CAT 输出
10-01 13:11:33.897: D/AndroidRuntime(1473): 关闭 VM 10-01 13:11:33.897: W/dalvikvm(1473): threadid=1: 线程退出未捕获异常 (group=0x4001d800) 10 -01 13:11:33.967: E/AndroidRuntime(1473): 致命异常: main 10-01 13:11:33.967: E/AndroidRuntime(1473): java.lang.RuntimeException: 无法启动活动 ComponentInfo{com.example .gcm_id/com.example.gcm_id.MainActivity}:java.lang.UnsupportedOperationException:设备没有包 com.google.android.gsf 10-01 13:11:33.967:E/AndroidRuntime(1473):在 android.app .ActivityThread.performLaunchActivity(ActivityThread.java:2663) 10-01 13:11:33.967: E/AndroidRuntime(1473): 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679) 10-01 13:11:33.967 : E/AndroidRuntime(1473): 在 android.app.ActivityThread.access$2300(ActivityThread.java:125) 10-01 13:11:33.967: E/AndroidRuntime(1473): 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033) 10-01 13:11:33.967: E/AndroidRuntime(1473) : 在 android.os.Handler.dispatchMessage(Handler.java:99) 10-01 13:11:33.967: E/AndroidRuntime(1473): 在 android.os.Looper.loop(Looper.java:123) 10-01 13:11:33.967: E/AndroidRuntime(1473): 在 android.app.ActivityThread.main(ActivityThread.java:4627) 10-01 13:11:33.967: E/AndroidRuntime(1473): 在 java.lang.reflect .Method.invokeNative(Native Method) 10-01 13:11:33.967: E/AndroidRuntime(1473): at java.lang.reflect.Method.invoke(Method.java:521) 10-01 13:11:33.967: E/AndroidRuntime(1473): 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) 10-01 13:11:33.967: E/AndroidRuntime(1473): 在 com.android.internal .os.ZygoteInit.main(ZygoteInit.java:626) 10-01 13:11:33.967: E/AndroidRuntime(1473): at dalvik.system.NativeStart.main(Native Method) 10-01 13:11:33.967: E/AndroidRuntime(1473): 由: java.lang.UnsupportedOperationException: 设备没有包 com.google.android.gsf 10-01 13:11:33.967: E/AndroidRuntime(1473): at com.google.android.gcm.GCMRegistrar.checkDevice(GCMRegistrar. java:98) 10-01 13:11:33.967: E/AndroidRuntime(1473): 在 com.example.gcm_id.MainActivity.onCreate(MainActivity.java:21) 10-01 13:11:33.967: E/AndroidRuntime( 1473): 在 android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 10-01 13:11:33.967: E/AndroidRuntime(1473): 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627) 10 -01 13:11:33.967: E/AndroidRuntime(1473): ... 11 更多在 dalvik.system.NativeStart.main(Native Method) 10-01 13:11:33.967: E/AndroidRuntime(1473): Caused by: java.lang.UnsupportedOperationException: Device does not have package com.google.android.gsf 10 -01 13:11:33.967: E/AndroidRuntime(1473): 在 com.google.android.gcm.GCMRegistrar.checkDevice(GCMRegistrar.java:98) 10-01 13:11:33.967: E/AndroidRuntime(1473):在 com.example.gcm_id.MainActivity.onCreate(MainActivity.java:21) 10-01 13:11:33.967: E/AndroidRuntime(1473): 在 android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 10- 01 13:11:33.967: E/AndroidRuntime(1473): 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627) 10-01 13:11:33.967: E/AndroidRuntime(1473): ... 还有 11 个在 dalvik.system.NativeStart.main(Native Method) 10-01 13:11:33.967: E/AndroidRuntime(1473): Caused by: java.lang.UnsupportedOperationException: Device does not have package com.google.android.gsf 10 -01 13:11:33.967: E/AndroidRuntime(1473): 在 com.google.android.gcm.GCMRegistrar.checkDevice(GCMRegistrar.java:98) 10-01 13:11:33.967: E/AndroidRuntime(1473):在 com.example.gcm_id.MainActivity.onCreate(MainActivity.java:21) 10-01 13:11:33.967: E/AndroidRuntime(1473): 在 android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 10- 01 13:11:33.967: E/AndroidRuntime(1473): 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627) 10-01 13:11:33.967: E/AndroidRuntime(1473): ... 还有 11 个UnsupportedOperationException: 设备没有包 com.google.android.gsf 10-01 13:11:33.967: E/AndroidRuntime(1473): at com.google.android.gcm.GCMRegistrar.checkDevice(GCMRegistrar.java:98) 10 -01 13:11:33.967: E/AndroidRuntime(1473): 在 com.example.gcm_id.MainActivity.onCreate(MainActivity.java:21) 10-01 13:11:33.967: E/AndroidRuntime(1473): 在 android .app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 10-01 13:11:33.967: E/AndroidRuntime(1473): 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627) 10-01 13:11 :33.967: E/AndroidRuntime(1473): ... 11 更多UnsupportedOperationException: 设备没有包 com.google.android.gsf 10-01 13:11:33.967: E/AndroidRuntime(1473): at com.google.android.gcm.GCMRegistrar.checkDevice(GCMRegistrar.java:98) 10 -01 13:11:33.967: E/AndroidRuntime(1473): 在 com.example.gcm_id.MainActivity.onCreate(MainActivity.java:21) 10-01 13:11:33.967: E/AndroidRuntime(1473): 在 android .app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 10-01 13:11:33.967: E/AndroidRuntime(1473): 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627) 10-01 13:11 :33.967: E/AndroidRuntime(1473): ... 11 更多E/AndroidRuntime(1473): 在 com.example.gcm_id.MainActivity.onCreate(MainActivity.java:21) 10-01 13:11:33.967: E/AndroidRuntime(1473): 在 android.app.Instrumentation.callActivityOnCreate(Instrumentation .java:1047) 10-01 13:11:33.967: E/AndroidRuntime(1473): 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627) 10-01 13:11:33.967: E/AndroidRuntime(1473) ): ... 11 更多E/AndroidRuntime(1473): 在 com.example.gcm_id.MainActivity.onCreate(MainActivity.java:21) 10-01 13:11:33.967: E/AndroidRuntime(1473): 在 android.app.Instrumentation.callActivityOnCreate(Instrumentation .java:1047) 10-01 13:11:33.967: E/AndroidRuntime(1473): 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627) 10-01 13:11:33.967: E/AndroidRuntime(1473) ): ... 11 更多
问问题
215 次
2 回答
0
删除了答案,因为它都是针对我的应用程序的,自从我使用它以来已经很久了。我将等待 LogCat 输出
于 2013-09-27T11:48:30.270 回答
0
您为项目设置了错误的目标,或者您的设备不支持 Google API。在前一种情况下,将您的构建跟踪更改为其中一个 Google API (>= GOOGLE API 10)。它不起作用,因为您的项目找不到 GCM 工作所需的 Google API。右键单击您的项目,转到属性 > Android 并更改构建目标。如果您没有安装 Google APIs,则必须先通过 SDK Manager 安装它。
如果您的设备不支持 google api,例如,您可能在目标设置为 Android Api 而不是 Google Api 的模拟器上对其进行测试;创建一个新的模拟器,目标设置为 Google API (>=10)
于 2013-10-01T08:26:47.973 回答