Android状态栏提醒(Notification,NotificationManager)的使用
16lz
2021-12-04
第一步:新建一个Android工程命名为NotificationDemo.
第二步:修改main.xml代码如下:
运行Android工程,效果如下图所示:
[img]http://dl.iteye.com/upload/attachment/424103/4bcccaf7-9cf7-33d4-9fb8-21caeb51d371.gif[/img]
[img]http://dl.iteye.com/upload/attachment/424106/6e6ce857-29a4-3880-89aa-537baeebaf08.gif[/img]
[img]http://dl.iteye.com/upload/attachment/424105/94b80ebb-1d9f-3053-b982-02427a993a1e.gif[/img]
[img]http://dl.iteye.com/upload/attachment/424109/43cfe7a1-5275-30c8-ab9a-ab951463173b.gif[/img]
第二步:修改main.xml代码如下:
<?xml version="1.0" encoding="utf-8"?>
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Welcome to Mr Wei's blog"
/>
第三步:修改NotificationDemo.java代码如下:
view plaincopy to clipboardprint?
package com.tutor.notification;
import android.app.Activity;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class NotificationDemo extends Activity implements OnClickListener{
private Context mContext;
private Button showButton,cancelButton;
private Notification mNotification;
private NotificationManager mNotificationManager;
private final static int NOTIFICATION_ID = 0x0001;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
setupViews();
}
//这里是初始化一些操作,可以看到onCreate()方法里代码非常简洁。
public void setupViews(){
mContext = NotificationDemo.this;
showButton = (Button)findViewById(R.id.showButton);
cancelButton = (Button)findViewById(R.id.cancelButton);
mNotification = new Notification(R.drawable.icon,"This is a notification.",System.currentTimeMillis());
//将使用默认的声音来提醒用户
mNotification.defaults = Notification.DEFAULT_SOUND;
mNotificationManager = (NotificationManager)this.getSystemService(NOTIFICATION_SERVICE);
showButton.setOnClickListener(this);
cancelButton.setOnClickListener(this);
}
//按钮点击事件响应
public void onClick(View v) {
if(v == showButton){
Intent mIntent = new Intent(mContext,NotificationDemo.class);
//这里需要设置Intent.FLAG_ACTIVITY_NEW_TASK属性
mIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
PendingIntent mContentIntent =PendingIntent.getActivity(mContext,0, mIntent, 0);
//这里必需要用setLatestEventInfo(上下文,标题,内容,PendingIntent)不然会报错.
mNotification.setLatestEventInfo(mContext, "10086", "您的当前话费不足,请充值.哈哈~", mContentIntent);
//这里发送通知(消息ID,通知对象)
mNotificationManager.notify(NOTIFICATION_ID, mNotification);
}else if(v == cancelButton){
//取消只要把通知ID传过来就OK了.
mNotificationManager.cancel(NOTIFICATION_ID);
}
}
}
运行Android工程,效果如下图所示:
[img]http://dl.iteye.com/upload/attachment/424103/4bcccaf7-9cf7-33d4-9fb8-21caeb51d371.gif[/img]
[img]http://dl.iteye.com/upload/attachment/424106/6e6ce857-29a4-3880-89aa-537baeebaf08.gif[/img]
[img]http://dl.iteye.com/upload/attachment/424105/94b80ebb-1d9f-3053-b982-02427a993a1e.gif[/img]
[img]http://dl.iteye.com/upload/attachment/424109/43cfe7a1-5275-30c8-ab9a-ab951463173b.gif[/img]
更多相关文章
- Android(安卓)自定义Progress Bar
- android计时demo源代码
- Android写文件到SDCard的一般过程和代码
- android 代码混淆问题解决
- Android中如何修改CheckBox的颜色
- 指定Toast显示时长
- Android(安卓)小代码集
- 【Android】App界面与顶部状态栏重叠遮盖问题
- Android(安卓)Bundle类