使如何用Notification
在使用notifation的时候开始程序一直崩溃,后来发现是setLatestEventInfo已经被弃用了,需要使用builder,那么给出下述例子
public class MainActivity extends Activity {
NotificationManager mNotificationManager;
Notification mNotification;
Bitmap mBitmap;
private static final int IDN =1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);
mNotificationManager = (NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE);
mNotification = new Notification.Builder(MainActivity.this)
.setContentTitle("new Notification")
.setContentText("123")
.setSmallIcon(R.drawable.ic_launcher)
.setLargeIcon(mBitmap)
.build();
int icon =R.drawable.ic_launcher;
String tickerText="Test Notification";
long when = System.currentTimeMillis();
mNotification.tickerText = tickerText;
mNotification.when = when;
Intent intent = new Intent(MainActivity.this,MainActivity.class);
PendingIntent pi = PendingIntent.getActivity(MainActivity.this, 0, intent, 0);
mNotificationManager.notify(IDN, mNotification);
}
}
Notification实现跳转到另一个Activity
之前写了Notification一直都不能实现跳转到另一个Activity,最后发现是因为自己没有在Notification中增加setContentIntent
public class MainActivity extends Activity implements OnClickListener{
NotificationManager mNotificationManager;
Notification mNotification;
Bitmap mBitmap;
Button sendNotice;
Intent intent;
PendingIntent pi;
private static final int IDN =1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
sendNotice = (Button)findViewById(R.id.send_notice);
sendNotice.setOnClickListener(this);
mBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);
mNotificationManager = (NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE);
intent = new Intent(this,NotificationActivity.class);
pi = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_CANCEL_CURRENT);
mNotification = new Notification.Builder(MainActivity.this)
.setContentTitle("new Notification")
.setContentText("123")
.setSmallIcon(R.drawable.ic_launcher)
.setLargeIcon(mBitmap)
.setWhen(System.currentTimeMillis())
.setTicker("Test Notification ticker")
.setContentIntent(pi)//增加该属性最重要
.build();
}
@Override
public void onClick(View v){
switch (v.getId()){
case R.id.send_notice:
//startActivity(intent);
mNotificationManager.notify(IDN, mNotification);
break;
default:
break;
}
}
}