如何在发送信号推送通知时在webview中打开网址,此时它将在默认浏览器中打开,以及如何使用通知处理程序处理目标网址。这是我想要实现信号通知的示例代码,我尝试了我的级别最好无法处理它。专家提出的任何建议。
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
OneSignal.startInit(this).init();
}
处理
答案 0 :(得分:1)
这是我的实现......我在我的Application类onCreate()
OneSignal.startInit(this).setNotificationOpenedHandler(new OneSignal.NotificationOpenedHandler() {
@Override
public void notificationOpened(OSNotificationOpenResult result) {
String launchURL = result.notification.payload.launchURL;
if (launchURL != null) {
Log.d(Const.DEBUG, "Launch URL: " + launchURL);
Intent intent = new Intent(getApplicationContext(), WebViewActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT | Intent.FLAG_ACTIVITY_NEW_TASK);
intent.putExtra("url", launchURL);
startActivity(intent);
} else {
Log.d(Const.DEBUG, "Launch URL not found");
Intent intent = new Intent(getApplicationContext(), SplashActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT | Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
}
}
}).init();
答案 1 :(得分:0)
为了做到这一点,您应该将您的网址设置为附加数据字段,而不是启动网址。
接下来,使用OneSignal Android NotificationReceivedHandler,您可以检索此附加数据并打开网址的网页浏览。
答案 2 :(得分:0)
一种可能性是创建两种类型的消息,一种发送到浏览器,另一种发送到应用程序。 这个问题有一个例子说明如何做到这一点: https://wordpress.org/support/topic/variable-launchurl/
不确定它是否会对你的情况有所帮助,但我希望如此。