首先是mainactivity的xml文件,只有两个button按钮
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity" >
<Button
android:id="@+id/bt_yes"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="发送"
android:textSize="30sp"
/>
<Button
android:id="@+id/bt_no"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="取消"
android:textSize="30sp"
/>
</LinearLayout>
Mainactivity里面这样写
public class MainActivity extends Activity implements OnClickListener {
private Button bt_yes,bt_no;
private NotificationManager manager;//消息管理器
private int i = 0;//每个消息的唯一标示,ID
private Notification nf=null;//消息
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
bt_yes = (Button) findViewById(R.id.bt_yes);
bt_no = (Button) findViewById(R.id.bt_no);
bt_yes.setOnClickListener(this);
bt_no.setOnClickListener(this);
manager=(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
}
@Override
public void onClick(View v) {
int ID = v.getId();
if (ID==R.id.bt_yes) {
//点击发送消息
i++;
creatNF();
manager.notify(i,nf);
}else {
//点击取消消息
manager.cancel(i);
}
}
//创建消息的方法
@SuppressLint("NewApi")
private void creatNF(){
//创建消息创建者
Notification.Builder builder = new Notification.Builder(this);
//设置消息实体
builder.setSmallIcon(R.drawable.ic_launcher);//设置消息图标
builder.setTicker("重大新闻!!!");//设置通知大标题
builder.setContentTitle("QQ消息!!!");//设置消息的标题
builder.setContentText("今天支付宝发红包,2亿现金领到手软!咻一咻!!");//设置消息的内容
builder.setAutoCancel(true);//是否可以取消
/*
* PendingIntent:点击之后不会立即执行 getActivity:执行此方法才会跳转到对应的activity
* fiag:FLAG_CANCEL_CURRENT:覆盖之前的消息
* FLAG_UPDATE_CURRENT:不会覆盖之前的消息
* 里面包含一个Intnet
* intent:点击之后立即执行
* */
Intent intent = new Intent(MainActivity.this,NewsActivity.class);
intent.putExtra("I",""+i);
//创建一个pendingIntent
PendingIntent pend = PendingIntent.getActivity(MainActivity.this, 1, intent,PendingIntent.FLAG_CANCEL_CURRENT);
nf = builder.build();
}
}
还要一个类
public class NewsActivity extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
TextView tv = new TextView(this);
Intent intent = this.getIntent();
String str = intent.getStringExtra("I");
tv.setText(str);
setContentView(tv);
}
}