我按照本教程创建了一个推送通知应用程序:http ://www.vogella.com/articles/AndroidCloudToDeviceMessaging/article.html
它有效,当我收到通知时,我可以打开一个网站。但是,我可以将 webview 布局与这个推送通知应用程序结合起来吗?我觉得它必须是可能的,因为电子邮件通知以这种方式工作。
这是我处理收到的通知的代码:
private void handleData(Context context, Intent intent) {
String app_name = (String) context.getText(R.string.app_name);
String message = intent.getStringExtra("message");
NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
Notification notification = new Notification(android.R.drawable.stat_notify_chat, app_name + ": " + message, 0);
PendingIntent pendingIntent = PendingIntent.getActivity(context, -1, new Intent(context, webviewactivity.class), PendingIntent.FLAG_UPDATE_CURRENT); //
notification.when = System.currentTimeMillis();
notification.flags |= Notification.FLAG_AUTO_CANCEL;
notification.setLatestEventInfo(context, app_name, message, pendingIntent); //
notificationManager.notify(0, notification);
}
但是,链接到 main.xml 的 HomeActivity 只是一个按钮,用于注册和注销您的设备以接收通知。我在布局下创建了另一个文件 webviewactivity.xml:
<?xml version="1.0" encoding="utf-8"?>
<WebView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/webview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>
我创建了以下活动 webviewactivity
public class BHWebView extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.bhwebview_activity);
WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.loadUrl("http://www.badgerherald.com");
}
}
出于某种原因,尽管当我单击通知时,它会打开主页活动,而不是 webview 活动。