我无法从Parse接收应用程序中的推送通知

用户名

我在应用程序中配置了Parse API,除推送通知外,其他所有功能均正常运行。我试图从网站发送它们,但它们没有到达应用程序。我按照文档中的说明进行了所有操作,但是无法收到通知推送。

我能够收到一个,当我按它时,应用程序崩溃了。现在,我尝试更改某些内容,但即使反转,也无法再接收它们。我该如何解决我的问题?

编辑:由于某些用户可能感兴趣,所以这是我用于推送通知的部分代码:

主类(虽然不是MainActivity):

    public class InstantsApplication extends Application {
public void onCreate() {
    super.onCreate();
    // Hidden
    Parse.initialize(this, "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", 
    "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");



    ParseInstallation.getCurrentInstallation().saveInBackground();

    ParsePush.subscribeInBackground("", new SaveCallback() {
        @Override
        public void done(ParseException e) {
            if (e == null) {
                Log.d("com.parse.push", "successfully subscribed to the broadcast channel.");

            } else {
                Log.e("com.parse.push", "failed to subscribe for push", e);
            }
        }
     }
}

AndroidManifest(权限不包括在这里,相信我,我已经把它们放了):

<!-- PARSE -->
<service android:name="com.parse.PushService" />
<receiver android:name="com.parse.ParseBroadcastReceiver">
    <intent-filter>
        <action android:name="android.intent.action.BOOT_COMPLETED" />
        <action android:name="android.intent.action.USER_PRESENT" />
    </intent-filter>
</receiver>
<receiver android:name="com.parse.GcmBroadcastReceiver"
          android:permission="com.google.android.c2dm.permission.SEND">
    <intent-filter>
        <action android:name="com.google.android.c2dm.intent.RECEIVE" />
        <action android:name="com.google.android.c2dm.intent.REGISTRATION" />

        <!--
          IMPORTANT: Change "com.parse.tutorials.pushnotifications" to match your app's package name.
        -->
        <!-- I have hidden package name root for this question -->
        <category android:name="com.xxxxxxxx.instants" />


    </intent-filter>
</receiver>
<receiver android:name="com.parse.ParsePushBroadcastReceiver" android:exported="false">
    <intent-filter>
        <action android:name="com.parse.push.intent.RECEIVE" />
        <action android:name="com.parse.push.intent.DELETE" />
        <action android:name="com.parse.push.intent.OPEN" />
    </intent-filter>
</receiver>
</application>
bjiang

我之前遇到过这个问题,因为您使用的是最新的Parse api。您只需要进行一些更改。

首先,要解决直接由解析后端发出推送而导致的错误,您需要在清单中声明解析推送的通知图标。

 <meta-data android:name="com.parse.push.notification_icon"
            android:resource="@drawable/ic_launcher"/>

在结束前使用application-Tag。

现在,从后端发出另一个推送将按您的预期发送推送通知。到目前为止,一切都很好。单击该推送将再次导致应用程序崩溃。要解决此问题,您需要删除现已弃用的呼叫,PushService.setDefaultPushCallback(...)并添加自己的Receiver类。我在* .util包中做到了这一点,如下所示:

public class Receiver extends ParsePushBroadcastReceiver {

    @Override
    public void onPushOpen(Context context, Intent intent) {
        Intent i = new Intent(context, MainActivity.class);
        i.putExtras(intent.getExtras());
        i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        context.startActivity(i);
    }
}

接下来,将默认的Parse接收器更改为刚创建的接收器:-转到清单文件。

 <receiver
            android:name="your.package.name.utils.Receiver"
            android:exported="false" >
            <intent-filter>
                <action android:name="com.parse.push.intent.RECEIVE" />
                <action android:name="com.parse.push.intent.DELETE" />
                <action android:name="com.parse.push.intent.OPEN" />
            </intent-filter>
        </receiver>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

当我的应用程序经过电池优化时,为什么无法接收推送通知?

在我的应用程序中接收 Android 热关机的通知

如何从离子移动应用程序发送/接收推送通知?

使用GCM关闭应用程序时在iOS中接收推送通知

Firebase推送通知仅在应用程序位于前台ios中时接收

使用Parse Sdk从应用程序推送通知

我无法在后台将应用程序从Firebase消息接收到通知

我怎么在我的Java swing应用程序中推送通知,即使它没有运行?

在我的应用程序中接收短信

如何从我的应用程序启用/禁用推送通知

当应用程序被杀死时,FireBase仅在以下Android 6.0设备中不接收推送通知

当应用程序在iOS中处于后台模式时,无法接收GCM通知

关闭应用程序后,无法在Xamarin.Android中接收远程通知

使用角度在移动应用程序中推送通知

在离子推送通知中访问应用程序内部的标题

在离子应用程序中实现推送通知

在Meteor Web应用程序中启用对讲推送通知

从推送通知中打开应用程序会导致NullPointerException

拦截推送通知显示在应用程序中

如果我安装了支持 Firebase 的应用程序但我之前从未打开过它,我的手机可以接收 Firebase 推送通知吗

为苹果推送通知处理我的iPhone应用程序的应用程序徽章编号

当应用程序从后台收到推送通知或在iOS中终止时,无法收听来自NSNotificationCenter的通知

在Java Cross Platform Desktop应用程序上接收推送通知

如何在接收基于Flutter构建的FCM推送通知时修复应用程序崩溃

当用户使用PARSE.com在.NET中赢得/发布Win 8 Metro应用程序时,推送通知

如何在应用程序中从系统推送通知设置跳转到个人推送通知设置?

无法定期在IOS中进行Background API调用以推送从BLE设备在应用程序中接收的数据

无法将我的本地应用程序推送到bluemix

我无法在reactjs应用程序中显示通知,我正在使用react-redux-notify