2017-01-02 2 views
0

Моего menifest разрешения ниже кодаВ регистрации GCM мое приложение врезаться

<permission 
     android:name="com.xyz.xyz.permission.C2D_MESSAGE" 
     android:protectionLevel="signature"/> 
    <uses-permission 

android:name="com.google.android.c2dm.permission.RECEIVE"/> 

это крушение

Вызванный java.lang.SecurityException: Не разрешено запустить службу Intent {действовать = ком. google.android.c2dm.intent.REGISTER pkg = com.google.android.gms (имеет дополнительные функции)} без разрешения com.google.android.c2dm.permission.RECEIVE at android.app.ContextImpl.startServiceCommon (ContextImpl.java: 1794) at android.app.ContextImpl.startService (ContextImpl.java:1771) at android.content.ContextWra pper.startService (ContextWrapper.java:521) at com.google.android.gms.iid.zzc.zzb (Неизвестный источник) at com.google.android.gms.iid.zzc.zza (Неизвестный источник) at com.google.android.gms.iid.zzc.zzb (Неизвестный источник) at com.google.android.gms.iid.zzc.zza (Неизвестный источник) по адресу com.google.android.gms.iid.InstanceID. zzc (Неизвестный источник) на com.google.android.gms.iid.InstanceID.getToken (Неизвестный источник) на android.os.AsyncTask $ 2.call (AsyncTask.java:292) на java.util.concurrent.FutureTask .run (FutureTask.java:237) на android.os.AsyncTask $ SerialExecutor $ 1.run (AsyncTask.java:231) на java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1112) в java.util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.java:587) в java.lang.Thread.run (Thread.java:818)

+0

Have вы пробовали другие сообщения, связанные с тем же вопросом на SO? –

+0

Да, я пробовал, в том, что они говорят, чтобы добавить эту строку

+0

или это из-за того, что playervice не доступный в устройстве или отключенный ...... также этот сбой я часто не получаю, так долго я получил эту проблему –

ответ

0

Вы следовали официальным tutorial? Помимо вашего приемника (не видно из вашей цитируемой части манифеста), вы должны были бы предоставить разрешение приемника SDK, то есть

<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" /> 
      <category android:name="<your-package-name>" /> 
     </intent-filter> 
    </receiver> 
0

Попробуйте это в AndroidManifest.xml

<uses-permission android:name="android.permission.INTERNET" /> 
    <!-- Required to wakeup the device and deliver messages --> 
    <uses-permission android:name="android.permission.WAKE_LOCK" /> 
    <permission android:name="your_package.permission.C2D_MESSAGE" 
     android:protectionLevel="signature"/> 
    <uses-permission android:name="your_package.permission.C2D_MESSAGE"/> 
Смежные вопросы