Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/219.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 使用startWakefulService时出现意图错误_Android_Android Intent_Google Cloud Messaging - Fatal编程技术网

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和组件本身的完全限定类名组成。