当前位置: 首页 > 知识库问答 >
问题:

无法获取主令牌-java.lang.安全异常:不允许开启服务意图

臧欣怿
2023-03-14

那是什么?

无法获取主令牌java。lang.SecurityException:未经com许可,不允许启动服务意图{act=com.google.android.c2dm.Intent.REGISTER pkg=com.google.android.gms(has extras)}。谷歌。Androidc2dm。准许在android上接收。应用程序。ContextImpl。android上的startService(ContextImpl.java:1161)。所容纳之物ContextWrapper。com上的startService(ContextWrapper.java:383)。谷歌。火基。iid。zzf。zzb(未知来源)位于com.google.火基。iid。zzf。zza(未知来源)位于com.google.火基。iid。zzf。zzb(未知来源)位于com.google.火基。iid。zzf。zza(未知来源)位于com.google.火基。iid。zzd。zzc(未知来源)位于com.google.火基。iid。zzd。getToken(未知源)位于com.google.火基。iid。FirebaseInstanceId。getToken(未知源)位于com.google.火基。iid。FirebaseInstanceId。D(未知来源)在com.google.火基。iid。FireBaseInstancedService。zza(未知来源)位于com.google.火基。iid。FireBaseInstancedService。zzm(未知来源)位于com.google.火基。iid。zzb$2。在java上运行(未知源代码)。util。同时发生的线程池执行器。java上的runWorker(ThreadPoolExecutor.java:1076)。util。同时发生的线程池执行器$Worker。在java上运行(ThreadPoolExecutor.java:569)。朗。丝线。运行(Thread.java:856)

我的清单文件:

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

    <!-- [START gcm_permission] -->
    <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <!-- [END gcm_permission] -->

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>

                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>
        <activity android:name=".Main2Activity">
        </activity>

        <!-- Firebase Notifications -->
        <service
            android:name="com.badboys.gcm.service.MyFirebaseMessagingService"
            android:exported="false" >
            <intent-filter>
                <action android:name="com.google.android.c2dm.intent.RECEIVE" />
            </intent-filter>
        </service>
        <service
            android:name="com.badboys.gcm.service.MyFirebaseInstanceIDService"
            android:exported="false">
            <intent-filter>
                <action android:name="com.google.android.gms.iid.InstanceID" />
            </intent-filter>
        </service>

        <!-- ./Firebase Notifications -->
    </application>

共有2个答案

和和煦
2023-03-14

检查设置一个GCM客户端为Android如果你错过了什么。

据我所知,您缺少阻止其他应用程序注册/接收您的消息的第一个权限。

"packagename"+".permission.C2D_MESSAGE"

您还缺少一些可能导致问题的项目。

现在,如果您想要特定于Firebase的实现,请将MyFirebase MessagingService的意图筛选操作更改为

<action android:name="com.google.firebase.MESSAGING_EVENT"/>

MyFirebaseInstanceService

<action android:name="com.google.firebase.INSTANCE_ID_EVENT"/>
萧霍英
2023-03-14

添加

权限android:name=“.permission.C2D_MESSAGE”android:protectionLevel=“签名”/

 类似资料:
  • 我有一个jquery脚本(从github下载),可以删除实体。下面是脚本。 }); 而我就是这样利用它的 相应的laravel路线如下所示 然而,当我尝试按下X(删除按钮)时,我得到了405方法不允许的错误。错误如下 这在我的本地沙箱上运行良好。 任何帮助都将不胜感激。 谢啦

  • 问题内容: 我目前正在使用在Oreo中崩溃的startWakefulService函数。我意识到我要么必须切换到startForegroundService()并使用前台服务,要么切换到JobIntentService,但是基于下面的代码,我不确定该怎么做。(对不起,我是android新手)。正确方向的任何观点将不胜感激。 这是在Android 8.x上运行时遇到的当前错误 致命异常:java.l

  • 这是在Android8.x上运行时出现的当前错误 致命异常:java.lang.RuntimeException无法启动接收方com.heyjude.heyjudeapp.gcm.gcmbroadcastreceiver:java.lang.illegalstateException:不允许启动服务意图{act=com.google.android.c2dm.Intent.receive flg=

  • 我将我的应用程序和升级到SDK 31,并开始在后台更新小部件的服务中接收以下应用程序崩溃。 此外,如果您使用的是Firebase Crashlytics之类的东西,那么stacktrace必须是这样的- 我正在添加重现此问题的方法,并修复了此问题,因为当我搜索StackOverflow时,我没有在StackOverflow上找到任何关于此问题的留档。

  • 问题内容: 我正在尝试使用OAuth 2.0访问Google的文档列表API 3.0,但是遇到401错误的麻烦。 用户接受后,我的代码如下: 然后,在最后一行-getFeed()-引发异常: 这是怎么回事?在静态主测试类上,它的工作原理很吸引人,但是当我在服务器上运行它时,此行不再起作用。任何想法? 解决了 需要使用GoogleOAuthHelper而不是直接使用GoogleOAuthParame