gpt4 book ai didi

android - 在 Android 应用程序中检测推送通知的到达

转载 作者:行者123 更新时间:2023-11-29 00:12:04 26 4
gpt4 key购买 nike

是否可以在 Android 应用程序上以编程方式检测推送通知的到达?应该如何着手实现?

最佳答案

正如@drees 在评论中建议的那样,您可以创建一个扩展 ParsePushBroadcastReceiver 的自定义广播接收器。

像这样:

public class ParseCustomBroadcastReceiver extends ParsePushBroadcastReceiver {

@Override
public void onReceive(Context context, Intent intent) {
try {

// Sample code
JSONObject json = new JSONObject(intent.getExtras().getString("com.parse.Data"));
final String notificationTitle = json.getString("title").toString();
final String notificationContent = json.getString("alert").toString();
final String uri = json.getString("uri");

//Create a taskstack builder - this is just sample(incomplete) to give an idea
Intent resultIntent = null;
TaskStackBuilder stackBuilder = TaskStackBuilder.create(context);

// Customize your notification
NotificationCompat.Builder builder =
new NotificationCompat.Builder(context)
.setSmallIcon(R.mipmap.ic_notification_icon)
.setContentTitle(notificationTitle)
.setContentText(notificationContent)
.setGroup(GROUP_SHORTR_NOTIFS)
.setContentIntent(resultPendingIntent)
.setAutoCancel(true)
.setVisibility(Notification.VISIBILITY_PUBLIC)
.setDefaults(Notification.DEFAULT_VIBRATE)
.setStyle(new NotificationCompat.BigTextStyle()
.bigText(notificationContent));

int mNotificationId = 001;
NotificationManager mNotifyMgr =
(NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
mNotifyMgr.notify(mNotificationId, builder.build());


} catch (JSONException e) {
Log.d(TAG, e.getMessage());
}

}
}

在 list 中添加以下内容。

 <receiver
android:name=".receivers.ParseCustomBroadcastReceiver"
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>

如果您正在关注 this tutorial那么上面的 list 编辑只需要您更改 android:name 属性。

希望这对您有所帮助。

关于android - 在 Android 应用程序中检测推送通知的到达,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29538923/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com