不推荐使用 PushService 类型的方法 setDefaultPushCallback(Context, Class<? extends Activity>)
Posted
技术标签:
【中文标题】不推荐使用 PushService 类型的方法 setDefaultPushCallback(Context, Class<? extends Activity>)【英文标题】:The method setDefaultPushCallback(Context, Class<? extends Activity>) from the type PushService is deprecated 【发布时间】:2014-10-31 14:28:28 【问题描述】:我一直面临的整个问题是这行代码
PushService.setDefaultPushCallback(this, MainActivity.class);
在导入 PushService 时,不推荐使用 setDefaultPushCallback|()。为什么会这样。我收到通知,但点击应用程序正在崩溃。应用未运行时也无法接收。
【问题讨论】:
我现在有同样的问题仪式。我正在阅读它,我会回复你。讨厌人们在没有否定理由的情况下投反对票。 【参考方案1】:我找到了解决方案,而且非常简单。 我发现了同样的问题 https://***.com/a/26180181/3904085
" 花了几个小时后。找到了解决方案:实现您的接收器并扩展 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);
在清单中使用它,(而不是使用 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>
" 感谢@Ahmad Raza
【讨论】:
【参考方案2】:来自 onPushOpen() 上的 Parse 文档:
当用户打开推送通知时调用。将分析信息发送回 Parse,表明应用程序已从此推送通知中打开。默认情况下,这将导航到 ParsePushBroadcastReceiver.getActivity(Context, Intent) 返回的 Activity。如果推送包含“uri”参数,则会触发 Intent 以查看该 URI,并使用 ParsePushBroadcastReceiver.getActivity(android.content.Context, android.content.Intent) 在后台堆栈中返回的 Activity。
因此,如果您像这样覆盖 onPushOpen(),则不会发送任何分析。
这是我的代码:
public class Receiver extends ParsePushBroadcastReceiver
@Override
protected Class<? extends Activity> getActivity(Context context, Intent intent)
return HomeActivity.class;
您需要像上面的帖子一样注册接收器。
使用 Parse 1.10.3 测试
【讨论】:
以上是关于不推荐使用 PushService 类型的方法 setDefaultPushCallback(Context, Class<? extends Activity>)的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Hibernate 5 正确创建 JPQL 查询(不推荐使用查询类型)