android通知栏通知的开发笔记
2015-01-16 09:02
323 查看
一、ToastNotifications(自定义吐司)
(1) 先自定义一个xml布局,xml布局里可以有imageview图片,textview文本等。
(2) 在activity中用inflater获取布局,实例化imageview和textview。
View view= getLayoutInflater().inflate(R.layout.toast,
(ViewGroup)findViewById(R.id.toast_layout));
view.setAlpha(100);
ImageView img = (ImageView)view.findViewById(R.id.imgview);
img.setImageResource(R.drawable.ic_launcher);
TextView textView =(TextView) view.findViewById(R.id.textview);
textView.setText("自定义吐司");
(3) 实例化一个Toast对象
Toast toast = new Toast(MainActivity.this);
(4) toast.setDuration(Toast.LENGTH_LONG);//设置时间
toast.setGravity(Gravity.BOTTOM, 10, 50);//设置位置
toast.setView(view);
toast.show();
二、StatusNotifications(通知栏通知)
Activity, service ,BroadcastReceiver都可以触发一个通知,通过Intent可以触发
有声音、震动、闪光灯等效果提示通知
1、 默认通知栏通知
(1) 先创建一个通知的管理类
manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);//创建一个通知的管理类
(2) 创建一个通知的对象Notification,新版本用Builder创建
private Notification.Builderbuilder = new Notification.Builder(this);
(3) Intent intent = newIntent(MainActivity.this, MainActivity.class);
PendingIntent contentIntent =PendingIntent.getActivity(MainActivity.this, 0, intent, 0);
builder.setContentIntent(contentIntent);
(4) builder.setContentTitle("新通知")//通知的标题
.setContentText("HellowWorld")//通知的内容
.setTicker("您收到一个通知");//第一次出现在状态栏的内容
builder.setSmallIcon(R.drawable.ic_launcher);//通知的小图标
builder.setDefaults(Notification.DEFAULT_ALL);//所有默认的提示
//Notification.DEFAULT_LIGHTS;默认的闪光灯
//Notification.DEFAULT_SOUND;默认的声音
//Notification.DEFAULT_VIBRATE;默认的震动
//震动需要添加一个授权
//<uses-permission android:name="android.permission.VIBRATE"/>
(5) Notificationnotification = builder.build();// 仅仅在高版本4.1中使用
manager.notify(1000,notification);// 1000(id)id为通知的唯一标示
2、 自定义通知栏通知
RemoteViews contentViews = new RemoteViews(getPackageName(),
R.layout.custom_notification);
contentViews.setImageViewResource(R.id.imgview,
R.drawable.ic_launcher);
contentViews.setTextViewText(R.id.title,
"自定义通知标题");
contentViews.setTextViewText(R.id.text,
"自定义通知内容");
Intentintent = newIntent(MainActivity.this,
MainActivity.class);
PendingIntentpendingIntent = PendingIntent.getActivity(
MainActivity.this, 0, intent, 0);
builder.setContentIntent(pendingIntent);
builder.setContent(contentViews);
Notificationnotification =
builder.build();
manager.notify(1001,notification);
(1) 先自定义一个xml布局,xml布局里可以有imageview图片,textview文本等。
(2) 在activity中用inflater获取布局,实例化imageview和textview。
View view= getLayoutInflater().inflate(R.layout.toast,
(ViewGroup)findViewById(R.id.toast_layout));
view.setAlpha(100);
ImageView img = (ImageView)view.findViewById(R.id.imgview);
img.setImageResource(R.drawable.ic_launcher);
TextView textView =(TextView) view.findViewById(R.id.textview);
textView.setText("自定义吐司");
(3) 实例化一个Toast对象
Toast toast = new Toast(MainActivity.this);
(4) toast.setDuration(Toast.LENGTH_LONG);//设置时间
toast.setGravity(Gravity.BOTTOM, 10, 50);//设置位置
toast.setView(view);
toast.show();
二、StatusNotifications(通知栏通知)
Activity, service ,BroadcastReceiver都可以触发一个通知,通过Intent可以触发
有声音、震动、闪光灯等效果提示通知
1、 默认通知栏通知
(1) 先创建一个通知的管理类
manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);//创建一个通知的管理类
(2) 创建一个通知的对象Notification,新版本用Builder创建
private Notification.Builderbuilder = new Notification.Builder(this);
(3) Intent intent = newIntent(MainActivity.this, MainActivity.class);
PendingIntent contentIntent =PendingIntent.getActivity(MainActivity.this, 0, intent, 0);
builder.setContentIntent(contentIntent);
(4) builder.setContentTitle("新通知")//通知的标题
.setContentText("HellowWorld")//通知的内容
.setTicker("您收到一个通知");//第一次出现在状态栏的内容
builder.setSmallIcon(R.drawable.ic_launcher);//通知的小图标
builder.setDefaults(Notification.DEFAULT_ALL);//所有默认的提示
//Notification.DEFAULT_LIGHTS;默认的闪光灯
//Notification.DEFAULT_SOUND;默认的声音
//Notification.DEFAULT_VIBRATE;默认的震动
//震动需要添加一个授权
//<uses-permission android:name="android.permission.VIBRATE"/>
(5) Notificationnotification = builder.build();// 仅仅在高版本4.1中使用
manager.notify(1000,notification);// 1000(id)id为通知的唯一标示
2、 自定义通知栏通知
RemoteViews contentViews = new RemoteViews(getPackageName(),
R.layout.custom_notification);
contentViews.setImageViewResource(R.id.imgview,
R.drawable.ic_launcher);
contentViews.setTextViewText(R.id.title,
"自定义通知标题");
contentViews.setTextViewText(R.id.text,
"自定义通知内容");
Intentintent = newIntent(MainActivity.this,
MainActivity.class);
PendingIntentpendingIntent = PendingIntent.getActivity(
MainActivity.this, 0, intent, 0);
builder.setContentIntent(pendingIntent);
builder.setContent(contentViews);
Notificationnotification =
builder.build();
manager.notify(1001,notification);
相关文章推荐
- Android应用开发学习笔记之状态栏通知
- Android开发笔记(五十二)通知推送Notification
- Android开发笔记——通知栏设置
- Android开发总结笔记 Notification(消息通知) 1-1-20
- Android开发笔记之notification消息推送 通知栏的实现
- Android 学习笔记(三)Windows下建立Android开发环境
- android应用开发学习笔记--游戏开发
- 菜鸟的android开发笔记 之 第二弹 第一个程序HelloAndroid
- Android Map开发基础知识学习笔记
- Android 校内头像同步开发笔记
- Google.Android开发入门与实践-学习笔记3
- Android开发——通知Notification
- Android(OPhone) 学习笔记 - OPhone 开发环境
- Android 开发笔记
- android google map 开发笔记
- Google.Android开发入门与实践-学习笔记1
- 【转】Android开发笔记之adb参数指南
- 菜鸟的android开发笔记 之 第一弹 环境部署
- Android原生(Native)C开发之七:libjpeg移植笔记
- Android 开发笔记