Android ApiDemos示例解析(26):App->Notification->IncomingMessage

应用程序可以使用Notifications来通知用户某个事件发生了(如收到短信)。类NotificationManager 用来处理 Notification, NotificationManager可以:

在Status Bar上显示一个新的图标。

在Extended status bar 窗口上显示附加信息或是启动一个Activity。

显示背光/LED。

使设备震动。

发出声音等。

对于一些没有UI的应用程序组件(如Broadcast Receiver, Services)或是非活动状态的Activity,Notification是推荐使 用的可以提醒用户注意的方法。

Notification通常是在Status Bar上显示图标或是文字,此时用户如果想了解 Notification的详细内容,可以按住Status Bar下拉显示Expanded Status bar 窗口,在Expanded Status bar窗口显示该 Notification详情并可以启动对应的Activity。

IncomingMessage 示例介绍了Notification的一般用法:

1. 首 先是取得NotificationManager 对象:

NotificationManager nm
= (NotificationManager)getSystemService(NOTIFICATION_SERVICE);

2. 然后创建Notification,创建Notification 时指定显示在Status bar的图标,文字以及显示Notification的时间:

Notification notif = new Notification

(R.drawable.stat_sample, tickerText,
System.currentTimeMillis());

3. 然后定义当用户打开Extented status windows窗口时的标题及详情。 Notification常常代表了一个请求或者需要引起注意的事件,因此可以指定一个PendingIntent来响应用户点击这个 Notification。

// The details of our fake message
CharSequence from = "Joe";
CharSequence message = "kthx. meet u for dinner. cul8r";     

// The PendingIntent to launch our activity if the user selects this notification
PendingIntent contentIntent = PendingIntent.getActivity(this, 0,
new Intent(this, IncomingMessageView.class), 0);
// Set the info for the views that show in the notification panel.
notif.setLatestEventInfo(this, from, message, contentIntent);
// after a 100ms delay, vibrate for 250ms, pause for 100 ms and
// then vibrate for 500ms.
notif.vibrate = new long[] { 100, 250, 100, 500};

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索notification
, android notification
, 窗口
, 用户
, pendingintent
, notificationmanager
, status
, notification的用法
, android震动提醒
, Android震动提示
, notifications
, vibrator
, vibrator参数
Notification用法
android studio、android官网、android sdk、android开发、android sdk下载,以便于您获取更多的相关知识。

时间: 2024-10-03 08:27:16

Android ApiDemos示例解析(26):App->Notification->IncomingMessage的相关文章

Android ApiDemos示例解析(43):App->Service->Remote Service Controller

Remote Service Controller 和使用Local Service的Android ApiDemo示例解析(40):App->Service->Local Service Controller 都是使用Service的"Started" 模式,RemoteService在 AndroidManifest.xml中的定义如下: <service android:name=".app.RemoteService" android:pr

Android ApiDemos示例解析(37):App-&amp;gt;Search-&amp;gt;Query Search Results

这个例子单独运行时(从Launcher启动),这时接受到的Intent不含ACTION_SEARCH,和一个普通的Activity没有什么两样. 在例(36)时,它是作为查询处理Activity用于显示用户查询内容. SearchQueryResults 在AndroidManifest.xml定义为 Searchable Activity: <intent-filter> <action android:name="android.intent.action.SEARCH&q

Android ApiDemos示例解析(35):App-&amp;gt;Preferences-&amp;gt;Advanced preferences

前篇文章Android ApiDemo示例解析(31):App->Preferences->Launching preferences 中用到了Advanced preferences 中定义的AdvancedPreferences. 本篇具体介绍AdvancedPreferences, 这个例子称为Advanced ,是因为 它涉及到了自定义Preference, 并在一个工作线程中刷新某个Preference的值. Preference 为显示在 PreferenceActivity (一

Android ApiDemos示例解析(30) App-&amp;gt;Preferences-&amp;gt;Preferences from XML

我们在前面的例子Android ApiDemo示例解析(9):App->Activity->Persistent State 介绍了可以使用Shared Preferences来存储一些状态,Shared Preferences更一般的用法是用来存储一些应用程序偏好(设置). 包 android.preference 提供了很多类可以方便应用程序来显示和设置应用相关的偏好.当然你可以使用自定义的UI来配置这些程 序偏好.但使用android.preference中定义的类可以给用户一个统一的U

Android ApiDemos示例解析(14) App-&amp;gt;Activity-&amp;gt;Save &amp;amp; Restore State

Save & Restore State与之前的例子Android ApiDemo示例解析(9):App->Activity->Persistent State 实现的 UI类似,但功能和实现方法稍有不同.(9)是通过Shared Preferences 和 Activity 的onPause() ,和onResume()来保持UI中 EditText 的值.本例是通过onSaveInstanceState(Bundle savedBundle) 来实现保持UI状态. 和onPause

Android ApiDemos示例解析(21) App-&amp;gt;Device Admin

Device Admin示例介绍了类DeviceAdminReceiver,DevicePolicyManager和ActivityManager. 类 DevicePolicyManager 用于管理Android设备定义的一些策略,主要指密码定义的长度,密码是否要含大写字母,小写字母等设 置密码需要满足的规范,锁定设备或是清除所有用户数据,这个类一般需要配合DeviceAdminReceiver来使用. DeviceAdminReceiver派生于BroadcastReceiver,可以接受

Android ApiDemos示例解析(13) App-&amp;gt;Activity-&amp;gt;Reorder Activities

Reorder Activities 示例有四个相关的Activitives: ReorderOnLaunch, ReorderTwo,ReorderThree, ReorderFour.其中ReorderOnLaunch为主Activity,ReorderOnLaunch启动ReorderTwo ,ReorderTwo启动 ReorderThree,ReorderThree启动 ReorderFour. 这时在Activity的"back stack"有如下状态: ReorderFo

Android ApiDemos示例解析(10) App-&amp;gt;Activity-&amp;gt;QuickContactsDemo

QuickContactsDemo示例介绍了如果使用Content Provider来访问Android系统的Contacts 数据库. Content Provider为不同应用之间共享数据提供了统一的接口,通过对底层数据源的抽象,Content Provider实现了应用程序代码和数 据层分离.Android平台对大部分的系统数据库都提供了对应的Content Provider接口: Browser: 读取和修改Bookmark,Browser history或Web Searches. C

Android ApiDemos示例解析(6) App-&amp;gt;Activity-&amp;gt;Dialog

在Custom Dialog中说过可以将Activity的Theme定义为Dialog风格,使得Activity看起来像是个对话框(Dialog),而 Custome Title 说明如果自定义标题栏. Dialog示例同样使用Dialog风格来显示Activity,同时为Titlebar 设置坐标的图标. DialogActivity使用Android系统定义的Dialog Theme: <activity android:name=".app.DialogActivity"