第一步.MainActivity.java
package com.chaowen;
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;
import com.chaowen.R;
public class MainActivity extends Activity {
private Button sendBtn;
private static final String MY_ACTION = "com.chaowen.action.MY_ACTION";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
sendBtn = (Button)findViewById(R.id.sendButton01);
//为按钮添加监听器
sendBtn.setOnClickListener(sendListener);
}
//发送通知监听器
private OnClickListener sendListener = new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent();
intent.setAction(MY_ACTION);
sendBroadcast(intent);
}
};
}
第二步,接收类MyReceive.java
package com.chaowen;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.widget.Toast;
/**
* 接收广播,收到广播后启动另一个Activity来显示通知
* @author chaowen
*
*/
public class MyReceive extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Intent i = new Intent();
//在新的任务中启动Activity
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
//设置Intent启动的组件名称
i.setClass(context, DisplayActivity.class);
context.startActivity(i);
}
}
第三步.显示通知.DisplayActivity.java
package com.chaowen;
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 DisplayActivity extends Activity {
private Button cancelBtnButton;
private Notification notification;
private NotificationManager nmManager;
private static final int ID=1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main2);
cancelBtnButton=(Button)findViewById(R.id.cancelButton02);
nmManager = (NotificationManager)getSystemService(NOTIFICATION_SERVICE);
notification = new Notification();
int icon = notification.icon=R.drawable.happy;
String tickerText ="Test Notification";
long when = System.currentTimeMillis();
notification.icon=icon;
notification.tickerText = tickerText;
notification.when=when;
Intent intent = new Intent(this,MainActivity.class);
PendingIntent pi = PendingIntent.getActivity(this, 0, intent, 0);
notification.setLatestEventInfo(this, "my title", "my Content", pi);
nmManager.notify(ID,notification);
//为按钮添加监听器
cancelBtnButton.setOnClickListener(cancelListener);
}
private OnClickListener cancelListener = new OnClickListener() {
@Override
public void onClick(View v) {
nmManager.cancel(ID);
}
};
}