Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/225.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通知(非强制终止)_Android_Performance_Android Intent_Android Activity_Google Cloud Messaging - Fatal编程技术网

Android 应用程序被终止时未接收GCM通知(非强制终止)

Android 应用程序被终止时未接收GCM通知(非强制终止),android,performance,android-intent,android-activity,google-cloud-messaging,Android,Performance,Android Intent,Android Activity,Google Cloud Messaging,当应用程序位于后台和前台时,我很高兴收到通知,但当应用程序被终止时,我在某些手机上不会收到通知(如小米型号的手机,如mi3等) GCM消息0:14341725194227%03b66390f9fd7ecd 广播意图回调:result=CANCELLED forIntent{act=com.google.android.c2dm.intent.RECEIVE pkg=(具有额外功能)} 尽管我在其他手机上收到通知,比如nexus、三星等。 有没有人也有类似的问题? 有人能解释一下我错在哪里吗 这是

当应用程序位于后台和前台时,我很高兴收到通知,但当应用程序被终止时,我在某些手机上不会收到通知(如小米型号的手机,如mi3等)

GCM消息0:14341725194227%03b66390f9fd7ecd 广播意图回调:result=CANCELLED forIntent{act=com.google.android.c2dm.intent.RECEIVE pkg=(具有额外功能)}

尽管我在其他手机上收到通知,比如nexus、三星等。 有没有人也有类似的问题? 有人能解释一下我错在哪里吗

这是我的清单文件

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="<package_name>">

<permission android:name="<package_name>.permission.C2D_MESSAGE" android:protectionLevel="signature"/>

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="<package_name>.permission.C2D_MESSAGE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />

<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.FLASHLIGHT" />

<action android:name="android.net.wifi.WIFI_STATE_CHANGED"/>
<action android:name="android.net.wifi.STATE_CHANGE"/>


<application
    android:name="<package_name>.ApplicationSingleton"
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme">

    <activity
        android:name="<package_name>.ui.activity.ReferralActivity"
        android:label="@string/app_name"
        android:screenOrientation="portrait"
        android:windowSoftInputMode="adjustResize">

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


    <receiver
        android:name="<package_name>.gcm.GcmBroadcastReceiver"
        android:permission="com.google.android.c2dm.permission.SEND" >
        <intent-filter>
            <action android:name="com.google.android.c2dm.intent.RECEIVE" />
            <category android:name="<package_name>" />
        </intent-filter>

        <intent-filter>
            <action android:name="com.google.android.c2dm.intent.REGISTRATION"/>
            <category android:name="<package_name>"/>
        </intent-filter>

    </receiver>

    <service android:name="<package_name>.gcm.GcmIntentService" />

    </activity>

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


</application>


Autostart可能是默认情况下未启用但应该启用的最佳MIUI功能

autostart做什么?它基本上会在手机启动时启动您选择的应用程序,因此您不会错过任何通知或更新

要为应用程序启用autostart,请执行以下步骤:

  • 从应用程序屏幕点击安全应用程序
  • 如果从“设置”菜单输入,您将无法找到此项,您必须直接点击应用程序图标

    打开安全应用程序:

  • 进入安全应用程序后,点击权限

  • 点击Autostart

  • 切换要为其启用Autostart的应用程序

  • 重新启动你的手机


  • 现在,您都已使用autostart设置好了

    你在小米的设备上安装了Google Play服务吗?是的,Google Play已经安装了,这就是为什么我在应用程序运行时得到了Google Play服务,而不是在应用程序被杀死时得到的。我猜这是小米的一个bug。读一下:@user3265443我也遇到了同样的问题。你修好了吗?这些手机有一个“自动启动”功能,如果启用该功能,即使该应用程序已从最近的应用程序中删除或以其他方式被删除,也可以确保您收到通知。我不知道是什么让这个自动启动自己启用。如果您已解决此问题,请帮助我解决。