不推荐使用PushService类型的方法setDefaultPushCallback(Context,Class <?extends Activity>)

sri*_*mmi 3 push parse-platform

我遇到的整个问题都是这行代码

PushService.setDefaultPushCallback(this,MainActivity.class);

在导入PushService时,setDefaultPushCallback |()已被弃用.为什么会这样呢?我收到通知但是点击应用程序正在崩溃.当应用程序未运行时也无法接收.

Eug*_*e H 5

我找到了解决方案,这很简单.
我发现了同样的问题 /sf/answers/1832612701/

"花了几个小时.找到解决方案:实现你的接收器并扩展ParsePushBroadcastReceiver类.

Receiver.java

public class Receiver extends ParsePushBroadcastReceiver {

    @Override
    public void onPushOpen(Context context, Intent intent) {
        Log.e("Push", "Clicked");
        Intent i = new Intent(context, HomeActivity.class);
        i.putExtras(intent.getExtras());
        i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        context.startActivity(i);
    }
}
Run Code Online (Sandbox Code Playgroud)

在清单中使用它,(而不是使用ParsePushBroadcastReceiver)

项目清单代码:

<receiver
    android:name="your.package.name.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>
Run Code Online (Sandbox Code Playgroud)

"致@Ahmad Raza的积分