一、很多情况下,app需要通知用户。android主要提供了三种通知的方法:Toast Notification、Status Bar
Notification、Dialog Notification。
二、Toast Notification是一种弹出到UI表面,并显视信息的一个组件。它不会影响用户当前Activity的可见性及交互性(事件),而且它会在一定时间后自动消息。
三、创建Toast Notification。最简单的方式是:Toast.makeText(context,text,duration).show();另外可以设置提醒的位置toast.setGravity();另外可以使用自定义的方式(写layout/xxx.xml文件,然后inflate)语法如下:new Toast(context).setGravity().setDuration().setView(layout).show();
四、Status Bar Notification是一种以图标或信息的方式出现在系统状态栏。当用户点击时,系统会触发一个Intent去启动相关的activity。你同时可以设置声音、振动、闪光等提醒。status bar notification适合于Service使用。如果是Activity使用,可以考虑用Dialog Notification。
五、status bar notification定制声音、震动、闪光。添加声音:notification.defaults+=Notifcation.DEFAULT_SOUND;notification.sound=Uri.parse("url")。震动:notification.defaults|=Notification.DEFAULT_VIBRATE;notification.vibrate={0,100,200,300}。闪光:notification.defaults|=Notification.DEFAULT_LIGHTS;notifcation.ledARGB=0xff00ff00;notification.ledOnMS=300;notification.ledOffMS=1000;notification.flags|=Notificatino.FLAG_SHOW_LIGHTS;
五、创建status bar notification。最简单的方式是:(NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE).notify(id,new Notification(icon,tickerText,when).setLatestEventInfo(context,contentTitle,contentText,contentIntent));
六、Dialog Notification是一种让当前Activity失去焦点,并让Dialog弹出最前面与用户交互的提醒方式。