原创作品,允许转载,转载时请务必以超链接形式标明文章
原始出处 、作者信息和本声明。否则将追究法律责任。
http://liangruijun.blog.51cto.com/3061169/657502
- //实例化Notification
- Notification notification = new Notification();
- // 设置显示图标,该图标会在状态栏显示
- int icon = notification.icon = R.drawable.happy;
- // 设置显示提示信息,该信息也在状态栏显示
- String tickerText = "测试Notification";
- // 显示时间
- long when = System.currentTimeMillis(); notification.icon = icon;
- notification.tickerText = tickerText;
- notification.when = when;
- //也可以这样设置
- Notification notification_2=new Notification(icon,tickerText,when)
- // 实例化Intent
- Intent intent = new Intent(MainActivity.this, MainActivity.class);
- // 获得PendingIntent
- PendingIntent pIntent = PendingIntent.getActivity(MainActivity.this, 0, intent, 0);
- // 设置事件信息
- notification.setLatestEventInfo(MainActivity.this, " Title", "Content", pIntent);
- //Notification标示ID
- private static final int ID = 1;
- //发出通知
- mNotificationManager.notify(ID, n);
- package com.android.notification;
- import android.app.Activity;
- import android.content.Intent;
- import android.os.Bundle;
- import android.view.View;
- import android.view.View.OnClickListener;
- import android.widget.Button;
- public class MainActivity extends Activity {
- // 声明Button
- private Button btn;
- // 定义Broadcast Receiver action
- private static final String MY_ACTION = "com.android.notification.MY_ACTION";
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- // 设置当前布局视图
- setContentView(R.layout.main);
- // 实例化Button
- btn = (Button)findViewById(R.id.Button1);
- // 添加事件监听器
- btn.setOnClickListener(listener);
- }
- // 创建事件监听器
- private OnClickListener listener = new OnClickListener() {
- @Override
- public void onClick(View v) {
- // 实例化Intent
- Intent intent = new Intent();
- // 设置Intent action属性
- intent.setAction(MY_ACTION);
- // 发起广播
- sendBroadcast(intent);
- }
- };
- }
- package com.android.notification;
- import android.content.BroadcastReceiver;
- import android.content.Context;
- import android.content.Intent;
- public class MyReceiver extends BroadcastReceiver{
- @Override
- public void onReceive(Context context, Intent intent) {
- // 实例化Intent
- Intent i = new Intent();
- // 在新的任务中启动Activity
- i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
- // 设置Intent启动的组件名称
- i.setClass(context, SecondActivity.class);
- // 启动Activity显示通知
- context.startActivity(i);
- }
- }
- package com.android.notification;
- import android.app.Activity;
- import android.app.Notification;
- import android.app.NotificationManager;
- import android.app.PendingIntent;
- import android.content.Intent;
- import android.os.Bundle;
- import android.view.View;
- import android.view.View.OnClickListener;
- import android.widget.Button;
- public class SecondActivity extends Activity {
- // 声明按钮
- private Button cancelBtn;
- // 声明Notification
- private Notification notification ;
- // 声明NotificationManager
- private NotificationManager mNotification;
- // Notification标示ID
- private static final int ID = 1;
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.second);
- // 实例化按钮
- cancelBtn = (Button)findViewById(R.id.cancelButton2);
- // 获得NotificationManager实例
- String service = NOTIFICATION_SERVICE;
- mNotification = (NotificationManager)getSystemService(service);
- // 实例化Notification
- notification = new Notification();
- // 设置显示图标,该图标会在状态栏显示
- int icon = notification.icon = android.R.drawable.stat_notify_chat;
- // 设置显示提示信息,该信息也会在状态栏显示
- String tickerText = "Test Notification";
- // 显示时间
- long when = System.currentTimeMillis();
- notification.icon = icon;
- notification.tickerText = tickerText;
- notification.when = when;
- // 实例化Intent
- Intent intent = new Intent(this, MainActivity.class);
- // 获得PendingIntent
- PendingIntent pi = PendingIntent.getActivity(this, 0, intent, 0);
- // 设置事件信息
- notification.setLatestEventInfo(this, "消息", "Hello Android", pi);
- // 发出通知
- mNotification.notify(ID, notification);
- // 为按钮添加监听器
- cancelBtn.setOnClickListener(cancelListener);
- }
- // 取消通知监听器
- private OnClickListener cancelListener = new OnClickListener() {
- @Override
- public void onClick(View v) {
- // 取消通知
- mNotification.cancel(ID);
- }
- };
- }
- <?xml version="1.0" encoding="utf-8"?>
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="vertical"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- >
- <Button
- android:text="发出广播通知"
- android:id="@+id/Button1"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- />
- </LinearLayout>
- <?xml version="1.0" encoding="utf-8"?>
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="vertical"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- >
- <TextView
- android:text="显示通知界面"
- android:id="@+id/TextView1"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- />
- <Button
- android:text="取消通知"
- android:id="@+id/cancelButton2"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- />
- </LinearLayout>
- <?xml version="1.0" encoding="utf-8"?>
- <manifest xmlns:android="http://schemas.android.com/apk/res/android"
- package="com.android.notification"
- android:versionCode="1"
- android:versionName="1.0">
- <uses-sdk android:minSdkVersion="10" />
- <application android:icon="@drawable/icon" android:label="@string/app_name">
- <activity android:name=".MainActivity"
- android:label="@string/app_name">
- <intent-filter>
- <action android:name="android.intent.action.MAIN" />
- <category android:name="android.intent.category.LAUNCHER" />
- </intent-filter>
- </activity>
- <receiver android:name="MyReceiver">
- <intent-filter>
- <action android:name="com.android.notification.MY_ACTION"/>
- </intent-filter>
- </receiver>
- <activity android:name="SecondActivity"/>
- </application>
- </manifest>