Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/199.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 GCM,ConnectionResult=服务\缺少\权限_Android_Google Cloud Messaging - Fatal编程技术网

Android GCM,ConnectionResult=服务\缺少\权限

Android GCM,ConnectionResult=服务\缺少\权限,android,google-cloud-messaging,Android,Google Cloud Messaging,根据文档,我已经在我的应用程序中实现了GCM推送通知,它可以随机工作。但通常情况下,它会抛出以下错误: W/GMPM: Service connection failed: ConnectionResult{statusCode=SERVICE_MISSING_PERMISSION, resolution=PendingIntent{dee6afb: android.os.BinderProxy@c3e3718}, message=null} 发生此错误后,它通常会在一段时间后开始工作 我还没

根据文档,我已经在我的应用程序中实现了GCM推送通知,它可以随机工作。但通常情况下,它会抛出以下错误:

W/GMPM: Service connection failed: ConnectionResult{statusCode=SERVICE_MISSING_PERMISSION, resolution=PendingIntent{dee6afb: android.os.BinderProxy@c3e3718}, message=null}
发生此错误后,它通常会在一段时间后开始工作

我还没有找到任何关于这方面的信息,但我想我的舱单有点问题。。。但它与谷歌GCM样本上的几乎完全相同

<manifest package="fi.pauli.myapp"
          xmlns:android="http://schemas.android.com/apk/res/android">

    <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.WAKE_LOCK"/>
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
    <uses-permission android:name="android.permission.READ_PHONE_STATE"/>

    <permission
        android:name="fi.pauli.myapp.permission.C2D_MESSAGE"
        android:protectionLevel="signature"/>

    <uses-permission android:name="fi.pauli.myapp.permission.C2D_MESSAGE"/>

    <application
        ...
        <receiver
            android:name="com.google.android.gms.gcm.GcmReceiver"
            android:exported="true"
            android:permission="com.google.android.c2dm.permission.SEND">
            <intent-filter>
                <action android:name="com.google.android.c2dm.intent.RECEIVE"/>
                <action android:name="com.google.android.c2dm.intent.REGISTRATION"/>
                <category android:name="fi.pauli.myapp"/>
            </intent-filter>
        </receiver>

        <service
            android:name="fi.pauli.myapp.PushNotificationReceiverService"
            android:exported="false">
            <intent-filter>
                <action android:name="com.google.android.c2dm.intent.RECEIVE"/>
            </intent-filter>
        </service>
        <service
            android:name="fi.pauli.myapp.InstanceIDListenerService"
            android:exported="false">
            <intent-filter>
                <action android:name="com.google.android.gms.iid.InstanceID"/>
            </intent-filter>
        </service>
        <service
            android:name="fi.pauli.myapp.RegistrationIntentService"
            android:exported="false">
        </service>

    </application>

</manifest>

我在我的清单中有更多的权限:

<uses-permission android:name="android.permission.GET_ACCOUNTS" />

我在清单中有此权限更多信息:

<uses-permission android:name="android.permission.GET_ACCOUNTS" />


GCM的注册方式是什么?如果您使用的是gcmregistar.register,您将需要GET_Accounts权限。我正在使用RegistrationEntService进行注册,与google示例中的完全相同。。。InstanceID InstanceID=InstanceID.getInstance(此);String-token=instanceID.getToken(getString(R.String.gcm\u defaultSenderId),GoogleCloudMessaging.INSTANCE\u ID\u SCOPE);哦,那个代码在注册服务的即时内容中。没有错误,我每次都会收到令牌…可能是因为我在为Android棉花糖构建,所以我应该向用户请求一些权限吗?好吧,这似乎是Visual Studio模拟器的问题-即使谷歌自己的应用程序也会在那里记录相同的错误,但推送通知仍然有效(大多数情况下)。在我的实际设备上,我没有任何问题。你如何在GCM注册?如果您使用的是gcmregistar.register,您将需要GET_Accounts权限。我正在使用RegistrationEntService进行注册,与google示例中的完全相同。。。InstanceID InstanceID=InstanceID.getInstance(此);String-token=instanceID.getToken(getString(R.String.gcm\u defaultSenderId),GoogleCloudMessaging.INSTANCE\u ID\u SCOPE);哦,那个代码在注册服务的即时内容中。没有错误,我每次都会收到令牌…可能是因为我在为Android棉花糖构建,所以我应该向用户请求一些权限吗?好吧,这似乎是Visual Studio模拟器的问题-即使谷歌自己的应用程序也会在那里记录相同的错误,但推送通知仍然有效(大多数情况下)。在我的实际设备上,我没有任何问题。只有在他通过不推荐的gcmregistar.register向GCM注册时才需要。如果他正在使用GoogleCloudMessaging.register,则不再需要GET_ACCOUNTS权限。是的,我没有使用那些不推荐使用的方法。我尝试了该权限,但对我的情况没有帮助。只有当他通过不推荐的gcmregistar.register向GCM注册时,才需要该权限。如果他正在使用GoogleCloudMessaging.register,则不再需要GET_ACCOUNTS权限。是的,我没有使用那些不推荐使用的方法。我尝试了那项许可,但对我的情况没有帮助。