Я пытаюсь получить свой идентификатор регистрации GCM с моего эмулятора Android, но когда я отлаживаю программу, вы можете ее отключить. Это мой MainActivity код:Android GCM Получить регистрацию ID
try {
GCMRegistrar.checkDevice(this); // <-- Crashes here
GCMRegistrar.checkManifest(this);
final String regId = GCMRegistrar.getRegistrationId(this);
if (regId.equals(""))
{
GCMRegistrar.register(this,Sender_ID);
}
else
{
Log.v("Registrationnnnnn", "Already registered");
}
}
catch(Exception e)
{
Log.e("ErrorHAi",e.getMessage());
}
Я прочитал, что эта линия проверяет, является ли поддержка устройства GCM.But Я установил Google Cloud Messaging из массовки SDK Manager. Я также установил
Android SDK Tools: Рев 20
Android SDK Platform Tools: Рев 12
Android 4,1 Api 16
Когда я упоминаю
<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="16" />
это в моем файле манифеста он но сбой, как я уже упоминал в приведенном выше коде. Но если я изменю targetSdkVersion на xx, как указано here, то он говорит Install_Failed_OLDER_SDK.
Я в настоящее время работает это приложение на Android уровне 4,1 API 16.
Update:
Мой Logcat:
07-03 20:34:25.878: E/Trace(906): error opening trace file: No such file or directory (2)
07-03 22:30:57.748: E/Trace(1016): error opening trace file: No such file or directory (2)
07-03 22:31:01.998: E/AndroidRuntime(1016): FATAL EXCEPTION: main
07-03 22:31:01.998: E/AndroidRuntime(1016): java.lang.RuntimeException: Unable to instantiate receiver com.pack.gcm.MyBroadcastReceiver: java.lang.ClassNotFoundException: com.pack.gcm.MyBroadcastReceiver
07-03 22:31:01.998: E/AndroidRuntime(1016): at android.app.ActivityThread.handleReceiver(ActivityThread.java:2210)
07-03 22:31:01.998: E/AndroidRuntime(1016): at android.app.ActivityThread.access$1500(ActivityThread.java:130)
07-03 22:31:01.998: E/AndroidRuntime(1016): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1271)
07-03 22:31:01.998: E/AndroidRuntime(1016): at android.os.Handler.dispatchMessage(Handler.java:99)
07-03 22:31:01.998: E/AndroidRuntime(1016): at android.os.Looper.loop(Looper.java:137)
07-03 22:31:01.998: E/AndroidRuntime(1016): at android.app.ActivityThread.main(ActivityThread.java:4745)
07-03 22:31:01.998: E/AndroidRuntime(1016): at java.lang.reflect.Method.invokeNative(Native Method)
07-03 22:31:01.998: E/AndroidRuntime(1016): at java.lang.reflect.Method.invoke(Method.java:511)
07-03 22:31:01.998: E/AndroidRuntime(1016): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
07-03 22:31:01.998: E/AndroidRuntime(1016): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
07-03 22:31:01.998: E/AndroidRuntime(1016): at dalvik.system.NativeStart.main(Native Method)
07-03 22:31:01.998: E/AndroidRuntime(1016): Caused by: java.lang.ClassNotFoundException: com.pack.gcm.MyBroadcastReceiver
07-03 22:31:01.998: E/AndroidRuntime(1016): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61)
07-03 22:31:01.998: E/AndroidRuntime(1016): at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
07-03 22:31:01.998: E/AndroidRuntime(1016): at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
07-03 22:31:01.998: E/AndroidRuntime(1016): at android.app.ActivityThread.handleReceiver(ActivityThread.java:2205)
07-03 22:31:01.998: E/AndroidRuntime(1016): ... 10 more
Теперь я не знаю, почему он дает такие ошибки, хотя я установил все предварительные условия.
Рассмотрите принятый ответ, если вы нашли его хорошим !! –
Я всегда принимаю его, но если он не решает мою проблему, то я этого не делаю. – Mj1992
Можете ли вы предоставить журналы Logcat? –