Android 使用startWakefulService时出现意图错误
我正在尝试使用Android 使用startWakefulService时出现意图错误,android,android-intent,google-cloud-messaging,Android,Android Intent,Google Cloud Messaging,我正在尝试使用startWakefulService(上下文、意图) 但在遇到一些问题后,我调试了我的应用程序,发现传递给该方法的意图是错误的,它使用 Intent{act=com.google.android.c2dm.Intent.RECEIVE flg=0x10 pkg=com.myApp.beta cmp=com.myApp.beta/fonctionnalite.implementes.GcmReceiver(有额外功能)} 而不是 Intent{act=com.google.andr
startWakefulService(上下文、意图)
但在遇到一些问题后,我调试了我的应用程序,发现传递给该方法的意图是错误的,它使用
Intent{act=com.google.android.c2dm.Intent.RECEIVE flg=0x10 pkg=com.myApp.beta cmp=com.myApp.beta/fonctionnalite.implementes.GcmReceiver(有额外功能)}
而不是
Intent{act=com.google.android.c2dm.Intent.RECEIVE flg=0x10 pkg=fonctionnalite.implementes cmp=fonctionnalite.implementes.GcmReceiver(有额外功能)}
因此,基本上我试图调用名为
GcmReceiver
的类,它位于包fonctionnalite.implementes
中。我尝试使用不同的组件和意图,但仍然不起作用,有人知道我如何解决这个问题吗
谢谢
下面是使用startWakefulService的类的代码
public class GcmReceiver extends WakefulBroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
ComponentName comp = new ComponentName(context.getPackageName(), GcmMessageHandler.class.getName());
startWakefulService(context, (intent.setComponent(comp)));
setResultCode(Activity.RESULT_OK);
}
}请提供一份演示您的问题的报告。在本例中,它将包括您正在创建
Intent
并调用startWakefulService()
@commonware的代码。显然,context.getPackageName()
正在返回com.myApp.beta
。你的应用程序的applicationId
是什么?@commonware我的应用程序Id是com.myApp.beta
“我试图调用Fonconnalite.implementes包中名为GcmReceiver的类”——你是说GcmReceiver
是单独应用程序中的服务吗?这不适用于WakefulBroadcastReceiver
。如果应用程序中有GcmReceiver
,那么该类的Java包对于ComponentName
的pkg
部分并不重要。组件名称由应用程序的应用程序ID和组件本身的完全限定类名组成。