相关疑难解决方法(0)

Android应用在关闭时未收到FCM通知

我正在检查Firebase Cloud Messaging以发送通知.已经实现了它,并在应用程序处于打开状态时接收通知.但如果我关闭应用程序,它不再发出通知.对此有什么解决方案吗?

码:

WebRequest wRequest;
wRequest = WebRequest.Create("https://fcm.googleapis.com/fcm/send");
wRequest.Method = "post";
wRequest.ContentType = " application/json;charset=UTF-8";
wRequest.Headers.Add(string.Format("Authorization: key={0}", AppId));

wRequest.Headers.Add(string.Format("Sender: id={0}", SenderId));

string postData = "{\"registration_ids\":[\"" + regIds + "\"], \"data\": "+ value +"}";

Byte[] bytes = Encoding.UTF8.GetBytes(postData);
wRequest.ContentLength = bytes.Length;

Stream stream = wRequest.GetRequestStream();
stream.Write(bytes, 0, bytes.Length);
stream.Close();

WebResponse wResponse = wRequest.GetResponse();
Run Code Online (Sandbox Code Playgroud)

消息服务 -

public class MessagingService extends FirebaseMessagingService {
    @Override
    public void onMessageReceived(RemoteMessage remoteMessage) {
        Map<String, String>  data = remoteMessage.getData();
        sendNotification(data);
    }

    public void showMessage(Map<String, String> …
Run Code Online (Sandbox Code Playgroud)

notifications android firebase firebase-cloud-messaging firebase-notifications

12
推荐指数
1
解决办法
1万
查看次数

Android FCM在从后台删除应用时未收到通知

这款手机是OnePlus3T.氧气OS构建为4.1.6.当应用程序在后台但在内存中处于前台时,应用程序会收到通知.但是,当应用程序不在内存中时,不会收到通知,即从内存中刷出.在具有Android OS版本4.2,5.1.1,6.0.1,7.1.1的其他设备上收到通知.Latage OS甚至应用程序不在内存中.

请提出一些建议.提前致谢.

android firebase firebase-cloud-messaging

8
推荐指数
1
解决办法
8312
查看次数

应用程序关闭/终止时 Android 中的 Firebase 推送通知问题

当仅使用数据负载关闭应用程序时,Firebase 推送在某些设备上不起作用。请参阅此线程:https : //github.com/firebase/quickstart-android/issues/41

我知道当应用程序被刷卡杀死时,一些 OEM 会杀死应用程序的所有服务,这些服务直接影响 FirebbaseMessagingService 并且由于这个 onMessageReceived() 方法从未被调用。我也尝试过使用高优先级 FCM,但遗憾的是没有成功。以下是我遇到问题的手机:OnePlus、联想、华为。

目前,我正在使用 OnePlus 5 进行测试,当我将电池设置更改为“不优化”时,推送通知开始工作。

我杀死了应用程序并运行dumpsys package MY-PACKAGE | grep stopped命令,我发现应用程序没有停止。它显示stopped=false. 这意味着应用程序正在运行。

推送通知的概念是在应用程序关闭时通知用户,但目前我们无法做到。

任何建议我该如何解决这个问题?

android android-service firebase firebase-cloud-messaging

7
推荐指数
1
解决办法
8172
查看次数

广播意图回调:result = CANCELED forIntent

我有一个移动应用程序,它注册到c2dm服务器.

我有一台服务器向我的应用程序发送消息,以发送通知.服务器从谷歌c2dm收到ok结果代码.

在LogCat中我看到我的应用程序收到消息但立即产生我在帖子中的错误.而且我创建的通知也被忽略了.

08-10 16:28:09.157: W/GTalkService(13962): [DataMsgMgr] broadcast intent callback: result=CANCELLED forIntent { act=com.google.android.c2dm.intent.RECEIVE pkg=com.example.c2dmclient (has extras) }
Run Code Online (Sandbox Code Playgroud)

我不懂.我的清单文件是:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.c2dmclient"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="15" />

    <permission android:name="com.example.c2dmclient.permission.C2D_MESSAGE" android:protectionLevel="signature" />
    <uses-permission android:name="com.example.c2dmclient.permission.C2D_MESSAGE" />
    <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.GET_ACCOUNTS" />

    <!-- Keeps the processor from sleeping when a message is received. -->
    <uses-permission android:name="android.permission.WAKE_LOCK" />

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

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


        <receiver
            android:name=".C2DMRegistrationReceiver" …
Run Code Online (Sandbox Code Playgroud)

java android android-intent android-c2dm

4
推荐指数
2
解决办法
6814
查看次数