Pal*_*eja 2 android push-notification onesignal
我通过使用此方法收到通知OneSignal,但我想在单击通知时打开该应用程序
private static class ExampleNotificationOpenedHandler implements OneSignal.NotificationOpenedHandler {
@Override
public void notificationOpened(String message, JSONObject additionalData, boolean isActive) {
try {
if (additionalData != null) {
if (additionalData.has("actionSelected"))
Log.d("OneSignalExample", "OneSignal notification button with id " + additionalData.getString("actionSelected") + " pressed");
Log.d("OneSignalExample", "Full additionalData:\n" + additionalData.toString());
}
} catch (Throwable t) {
t.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
添加一个ExampleNotificationOpenedHandler将上下文作为参数的构造函数
private Context mContext;
public ExampleNotificationOpenedHandler(Context context) {
mContext = context;
}
Run Code Online (Sandbox Code Playgroud)
INITOneSignal与ExampleNotificationOpenedHandler构造带内应用程序类上下文
public void onCreate() {
super.onCreate();
OneSignal.startInit(this)
.setNotificationOpenedHandler((OneSignal.NotificationOpenedHandler)
new ExampleNotificationOpenedHandler(this))
.init();
}
Run Code Online (Sandbox Code Playgroud)
准备意图并使用上下文开始您的活动
@Override
public void notificationOpened(OSNotificationOpenResult result) {
try {
if (additionalData != null) {
Intent intent = new Intent(mContext, DetailsActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT | Intent.FLAG_ACTIVITY_NEW_TASK);
intent.putExtra("key", <additionalData to be sent>);
mContext.startActivity(intent);
}
} catch (Throwable t) {
t.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4422 次 |
| 最近记录: |