2010-04-13 44 views
0

我有以下代碼可在手機收到短信時創建通知。它正確顯示通知;然而,當用戶點擊通知時,什麼都不會發生。它應該打開SMS收件箱,以便用戶可以查看他們的消息。提前致謝。Android無法從通知中啓動收件箱

mNotificationManager = (NotificationManager) arg0.getSystemService(Context.NOTIFICATION_SERVICE); 
Uri uri = Uri.parse("content://sms/inbox"); 
PendingIntent contentIntent = PendingIntent.getActivity(arg0, 0, new Intent(Intent.ACTION_VIEW, uri), Intent.FLAG_ACTIVITY_NEW_TASK); 
String tickerText = arg0.getString(R.string.newmsg, msgs[i].getMessageBody().toString()); 
Notification notif = new Notification(R.drawable.icon, tickerText, System.currentTimeMillis()); 
notif.setLatestEventInfo(arg0, msgs[i].getOriginatingAddress(), msgs[i].getMessageBody().toString(), contentIntent); 
notif.vibrate = new long[] { 100, 250, 100, 500 }; 
mNotificationManager.notify(R.string.recv_msg_notif_id, notif); 
+1

不要使用'content:// sms/inbox'。這不是Android SDK的一部分。您的應用程序會在某些當前設備上崩潰,並可能在未來的Android版本中崩潰。 – CommonsWare 2010-04-13 22:36:10

+0

查看Android源代碼,瞭解Google如何做到這一點! – MrSnowflake 2010-04-14 00:04:29

回答

3

我得到它的工作。以下代碼顯示如何完成此任務:

Intent notificationIntent = new Intent(Intent.ACTION_MAIN); 
notificationIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_CLEAR_TOP); 
notificationIntent.setType("vnd.android-dir/mms-sms");