package com.example.android_notification;
import android.os.Bundle;
import android.app.Activity;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Intent;
import android.service.notification.NotificationListenerService;
import android.support.v4.app.NotificationCompat;
import android.support.v4.app.NotificationCompat.InboxStyle;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
/**
* 通知 Notification 要求 Android 16
* @author Administrator
*
*/
public class MainActivity extends Activity {
private Button button;
private Button button2;
private Button button3;
private Notification.Builder builder;
private NotificationManager manager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button=(Button)this.findViewById(R.id.button1);
button2=(Button)this.findViewById(R.id.button2);
button3=(Button)this.findViewById(R.id.button3);
//获得系统的通知服务
manager=(NotificationManager)getSystemService(NOTIFICATION_SERVICE);
builder=new Notification.Builder(this);
//设置通知的属性,标题 图标 content 等
builder.setTicker("新短信通知");
builder.setContentTitle("会议");
builder.setContentText("明天八点半开会,请准时参加");
builder.setSmallIcon(R.drawable.ic_launcher);
builder.setDefaults(Notification.DEFAULT_SOUND|Notification.DEFAULT_VIBRATE);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent=new Intent(MainActivity.this,MainActivity.class);
PendingIntent pendingIntent=PendingIntent.getActivity(MainActivity.this, 1, intent, PendingIntent.FLAG_ONE_SHOT);
builder.setContentIntent(pendingIntent);
manager.notify(100, builder.build());
}
});
button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
NotificationCompat.Builder builder=new NotificationCompat.Builder(MainActivity.this);
builder.setSmallIcon(R.drawable.ic_launcher);
builder.setContentTitle("有新闻通知");
builder.setContentText("中央新闻");
NotificationCompat.InboxStyle inboxStyle=new NotificationCompat.InboxStyle();
builder.setStyle(inboxStyle);
builder.setAutoCancel(true);
String[] events={"abc","abc2","abc3","abc4","abc5","abc6"};
inboxStyle.setBigContentTitle("Event tracker datil:");
for(int i=0;i<events.length;i++)
{
inboxStyle.addLine(events[i]);
}
Intent intent=new Intent(MainActivity.this,MainActivity.class);
PendingIntent pendingIntent=PendingIntent.getActivity(MainActivity.this,1, intent, PendingIntent.FLAG_ONE_SHOT);
builder.setContentIntent(pendingIntent);
manager.notify(1001, builder.build());
}
});
button3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
// manager.cancelAll();
manager.cancel(100);
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}