在我处理我的应用程序时看到一个简单的通知

时间:2012-11-29 11:42:35

标签: android

任何人都可以帮助我制作通知,通知用户他为应用程序提供背景。

3 个答案:

答案 0 :(得分:1)

您需要覆盖活动的onPause()方法。并且必须触发notification

对于通知,请参阅this。您还可以从here查看活动生命周期。

答案 1 :(得分:0)

onPause()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);

    }

答案 2 :(得分:0)

我建议在onStop()和onStart()而不是onPause()和onResume()中执行此操作。 否则,每当您的活动被置于活动之外时,您的通知将被调用,但您的活动仍然可见(例如,弹出窗口弹出,因为您收到了短信...),这会在您的活动前面显示。 在这种情况下将调用onPause(),而不是onStop()。