web-dev-qa-db-ja.com

SecurityException:サービスIntent act = com.google.Android.c2dm.intent.REGISTERの開始は許可されていません

エラーSecurityException: Not allowed to start service Intentしかし、多くのトピックを検索した後、それは良い解決策を持っていないようです。

私を助けてください、

おかげで、

p/s:

私は正しいSENDER_IDプロジェクト番号はGoogle API Consoleと修正package name

エラー:

Caused by: Java.lang.SecurityException: Not allowed to start service Intent { act=com.google.Android.c2dm.intent.REGISTER pkg=com.google.Android.gms (has extras) } without permission com.google.Android.c2dm.permission.RECEIVE
            at Android.app.ContextImpl.startServiceAsUser(ContextImpl.Java:1785)
            at Android.app.ContextImpl.startService(ContextImpl.Java:1757)
            at Android.content.ContextWrapper.startService(ContextWrapper.Java:480)
            at com.google.Android.gms.gcm.GoogleCloudMessaging.e(Unknown Source)
            at com.google.Android.gms.gcm.GoogleCloudMessaging.register(Unknown Source)
            at controller.RegisterGCMClientAsync.doInBackground(RegisterGCMClientAsync.Java:62)
            at controller.RegisterGCMClientAsync.doInBackground(RegisterGCMClientAsync.Java:18)
            at Android.os.AsyncTask$2.call(AsyncTask.Java:287)
            at Java.util.concurrent.FutureTask.run(FutureTask.Java:234)
            at Android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.Java:230)
            at Java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.Java:1080)
            at Java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.Java:573)
            at Java.lang.Thread.run(Thread.Java:841)

Manifest.xmlファイル:

<manifest xmlns:Android="http://schemas.Android.com/apk/res/Android"
      package="app.cloudstringers" >

<application
    Android:allowBackup="true"
    Android:icon="@drawable/ic_launcher"
    Android:label="@string/app_name"
    Android:theme="@style/AppTheme" >
    <activity
        Android:name="app.cloudstringers.Cloudstringers"
        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="ui.fragment.RegisterWithAccountsFragment" />

    <meta-data Android:name="com.google.Android.gms.version"
               Android:value="@integer/google_play_services_version" />

    <permission
        Android:name="app.cloudstringers.permission.C2D_MESSAGE"
        Android:protectionLevel="signature" />

    <!-- Receiver GCM -->
    <receiver
        Android:name="app.cloudstringers.GcmBroadcastReceiver"
        Android:permission="com.google.Android.c2dm.permission.SEND" >
        <intent-filter>
            <action Android:name="com.google.Android.c2dm.intent.RECEIVE" />
            <category Android:name="app.cloudstringers" />
        </intent-filter>
    </receiver>

    <!-- Service GCM -->
    <service
        Android:exported="true"
        Android:name="app.cloudstringers.GcmIntentService" />

    <uses-permission Android:name="com.google.Android.c2dm.permission.RECEIVE" />
    <uses-permission Android:name="app.cloudstringers.permission.C2D_MESSAGE" />
    <uses-permission Android:name="Android.permission.GET_ACCOUNTS" />
    <uses-permission Android:name="Android.permission.INTERNET" />
    <uses-permission Android:name="Android.permission.WAKE_LOCK" />

</application>

[〜#〜] solution [〜#〜]間違った行を入れました。 <use-permission>タグ外<application> 鬼ごっこ。

19
Huy Tower

これに変更:

    <uses-permission Android:name="com.google.Android.c2dm.permission.RECEIVE" />
    <uses-permission Android:name="app.cloudstringers.permission.C2D_MESSAGE" />
    <uses-permission Android:name="Android.permission.GET_ACCOUNTS" />
    <uses-permission Android:name="Android.permission.INTERNET" />
    <uses-permission Android:name="Android.permission.WAKE_LOCK" />
      <permission
        Android:name="app.cloudstringers.permission.C2D_MESSAGE"
        Android:protectionLevel="signature" />
    <application
    Android:allowBackup="true"
    Android:icon="@drawable/ic_launcher"
    Android:label="@string/app_name"
    Android:theme="@style/AppTheme" >
    <activity
        Android:name="app.cloudstringers.Cloudstringers"
        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="ui.fragment.RegisterWithAccountsFragment" />

    <meta-data Android:name="com.google.Android.gms.version"
               Android:value="@integer/google_play_services_version" />



    <!-- Receiver GCM -->
    <receiver
        Android:name="app.cloudstringers.GcmBroadcastReceiver"
        Android:permission="com.google.Android.c2dm.permission.SEND" >
        <intent-filter>
            <action Android:name="com.google.Android.c2dm.intent.RECEIVE" />
            <category Android:name="app.cloudstringers" />
        </intent-filter>
    </receiver>

    <!-- Service GCM -->
    <service
        Android:exported="true"
        Android:name="app.cloudstringers.GcmIntentService" />



</application>

<use-permission>タグ外<application> 鬼ごっこ。

16
Kishan

Playストアが機能するかどうかを確認する必要があります。動作しない場合は、googleサービスを開始できません。

5
Cu'i Bap