我在跟随一位导游http://www.androidhive.info/2012/10/android-push-notifications-using-google-cloud-messaging-gcm-php-and-mysql/对于GCM。
目前,我被困在接收通知的部分。有时,当我运行代码时,它会因以下错误而崩溃:
7.517:E/AndroidRuntime(8601):致命异常:main 7.517:E/AndroidRuntime(8601):java。lang.RuntimeException:无法实例化接收器com.google.Androidgcm。GCMBroadcastReceiver:java。lang.ClassNotFoundException:在路径:DexPathList[[zip文件”//data/app/com.example.someactivity-1.apk“],NativelLibraryDirectory=[/data/app-lib/com.example.someactivity-1,/vendor/lib,/system/lib]]7.517:E/AndroidRuntime(8601):在android上未找到类“com.google.androad.gcm.gcm.gcm.gcmbroadcastereceiver”。应用程序。活动线程。HandlerReceiver(ActivityThread.java:2544)7.517:E/AndroidRuntime(8601):在android上。应用程序。活动线程。在android上访问$1500(ActivityThread.java:153)7.517:E/AndroidRuntime(8601)。应用程序。ActivityThread$H.handleMessage(ActivityThread.java:1345)7.517:E/AndroidRuntime(8601):在android上。操作系统。处理程序。dispatchMessage(Handler.java:99)7.517:E/AndroidRuntime(8601):在android上。操作系统。活套。loop(Looper.java:137)7.517:E/AndroidRuntime(8601):在android上。应用程序。活动线程。main(ActivityThread.java:5295)7.517:E/AndroidRuntime(8601):位于java。朗。反思。方法Invokenactive(本机方法)7.517:E/AndroidRuntime(8601):在java。朗。反思。方法invoke(Method.java:525)7.517:E/AndroidRuntime(8601):位于com.Android内部的操作系统。ZygoteInit$MethodandArgscaler。运行(ZygoteInit.java:739)7.517:E/AndroidRuntime(8601):在com上。Android内部的操作系统。合子体。main(ZygoteInit.java:555)7.517:E/AndroidRuntime(8601):在dalvik。系统原生艺术。main(本机方法)7.517:E/AndroidRuntime(8601):由:java引起。lang.ClassNotFoundException:在路径:DexPathList[[zip文件”//data/app/com.example.someactivity-1.apk“],NativeLibraryDirectory=[/data/app lib/com.example.someactivity-1,/vendor/lib,/system/lib]]7.517:E/AndroidRuntime(8601):在dalvik上未找到类“com.google.androad.gcm.gcm.gcm.GCMBroadcastReceiver”。系统BaseDexClassLoader。findClass(BaseDexClassLoader.java:53)7.517:E/AndroidRuntime(8601):位于java。lang.ClassLoader。loadClass(ClassLoader.java:501)7.517:E/AndroidRuntime(8601):在java。lang.ClassLoader。loadClass(ClassLoader.java:461)7.517:E/AndroidRuntime(8601):在android上。应用程序。活动线程。HandlerReceiver(ActivityThread.java:2539)
这是我的舱单:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.someactivity"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="14"
android:targetSdkVersion="17" />
<!-- 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="com.example.someactivity.permission.C2D_MESSAGE"
android:protectionLevel="signature" />
<uses-permission android:name="com.example.someactivity.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" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/Theme.Sherlock.Light" >
<activity
android:name="com.example.someactivity.Login"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="com.example.someactivity.fragmentContainer" >
</activity>
<receiver
android:name="com.google.android.gcm.GCMBroadcastReceiver"
android:permission="com.google.android.c2dm.permission.SEND" >
<intent-filter>
<!-- Receives the actual messages. -->
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
<!-- Receives the registration id. -->
<action android:name="com.google.android.c2dm.intent.REGISTRATION" />
<category android:name="com.example.someactivity" />
</intent-filter>
</receiver>
<service android:name=".GcmIntentService" />
</application>
</manifest>
以及我使用的接收器:
private final BroadcastReceiver mHandleMessageReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String newMessage = intent.getExtras().getString("Some Message");
// Waking up mobile if it is sleeping
WakeLocker.acquire(getApplicationContext());
/**
* Take appropriate action on this message
* depending upon your app requirement
* For now i am just displaying it on the screen
* */
// Showing received message
Toast.makeText(getApplicationContext(), "New Message: " + newMessage, Toast.LENGTH_LONG).show();
// Releasing wake lock
WakeLocker.release();
}
};
为什么我得到接收器没有实例化,我已经改变了包的名称。
确保收件人包裹名称在清单中正确
添加gcm。jar到您的libs文件夹。
我已经将Android应用程序上传到playstore。在第一次下载时,它会崩溃,但在那之后,它工作正常。它将错误显示为无法实例化接收器com。谷歌。Android应用程序。分析。由java引起的AnalyticsReceiver。lang.ClassNotFoundException:未找到类“com.google.android.apps.analytics.analytics.Analyti
我正在做一个应用程序,我想注册一个新的广播接收器。但是,当意图被触发时,应用程序无法找到接收器类,并以以下错误失败: System.err:无法实例化接收器org.nativescript.ntngcallerid.phoneCallReceiver:java.lang.ClassNotFoundException:在路径:dexpathList[[zip文件“/data/app/org.nati
根据谷歌手册,我尝试使用GCM服务创建测试应用程序https://developer.android.com/google/gcm/client.html#app 但当我收到消息-我有这个错误: 无法实例化接收器com。实例testpushnotification。GcmBroadcastReceiver:java。lang.ClassNotFoundException:在以下路径中未找到类“co
我试图使用Postgis 2.2和Postgreql 9.5与JPA,Postgis 9.5方言。我已经在pom.xml的要求,按这里http://www.hibernatespatial.org/documentation/documentation/和类型导入正确,但是当我试图运行程序使用几何类型我得到这个错误: 我显然遗漏了一些配置,有人能指出是什么吗?
我在MapFragment的布局文件中出现了这个错误 我试过了 > 安装Google Play服务,但仍有错误 - com.google.android.gms.maps.MapFragment(开放类,显示异常,清除缓存) 提示:在自定义视图中使用view.isinEditMode()跳过代码或在IDE中显示示例数据。 如果这是一个意外错误,您也可以尝试构建项目,然后手动刷新布局。 异常详细信息
我正在将一个Java EE应用程序部署到Bluemix,当第一个请求到达时,我得到了这个错误: 2015-05-20T23:11:58.51+0200[app/0]OUT[INFO]FFDC1015I:已创建FFDC事件:“java.util.ServiceConfigurationError:javax.servlet.ServletContainerInitializer:Provider o