任何人都可以帮助我如何发出通知,通知用户他后台应用程序。
问问题
127 次
3 回答
0
onPause()
and方法在onResume()
被带到后台并再次进入前台时被调用,但是当应用程序第一次启动并且在它被杀死之前也会被调用。你可以在这里阅读更多:
http://developer.android.com/reference/android/app/Activity.html
这是通知示例作为您的问题。
private static final int MY_NOTIFICATION_ID = 1;
private NotificationManager notificationManager;
private Notification myNotification;
@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
myNotification = new Notification(R.drawable.ic_action_search,
"Notification!", System.currentTimeMillis());
Context context = getApplicationContext();
String notificationTitle = "Exercise of Notification!";
String notificationText = "http://android-er.blogspot.com/";
Intent myIntent = new Intent(Intent.ACTION_VIEW,
Uri.parse("www.google.com"));
PendingIntent pendingIntent = PendingIntent.getActivity(
MainActivity.this, 0, myIntent, Intent.FLAG_ACTIVITY_NEW_TASK);
myNotification.defaults |= Notification.DEFAULT_SOUND;
myNotification.flags |= Notification.FLAG_AUTO_CANCEL;
myNotification.setLatestEventInfo(context, notificationTitle,
notificationText, pendingIntent);
notificationManager.notify(MY_NOTIFICATION_ID, myNotification);
}
于 2012-11-29T12:01:39.893 回答
0
我建议在 onStop() 和 onStart() 中执行此操作,而不是在 onPause() 和 onResume() 中执行此操作。否则,每当您在活动中添加某些内容但您的活动仍然可见时(例如,因为您收到短信而弹出一个弹出窗口......),您的通知就会被调用,这会出现在您的活动前面. 在这种情况下将调用 onPause(),而不是 onStop()。
于 2012-11-29T13:05:07.047 回答