四:notifation 通知欄app
Notifation通知欄會在屏幕上方向用戶提示信息 可是不會打斷用戶正在閱讀的內容,除非用戶手動將 Notifation通知欄拉下。 Notifation的好處就是在於不會影響用戶的操做,好比用戶正在閱讀很是重要的信息這時候幫他直接打開一個activity會很是不合適 由於直接影響到了他當時的操做行爲 因此Notifation就出來了。建議你們在開發中遇到可能打斷用戶使用的狀況下都去使用Notifation通知欄。ide
public class NotificationActivity extends Activity { this
NotificationManager mManager = null; code
Notification notification =null; 對象
@Override 開發
protected void onCreate(Bundle savedInstanceState) { 字符串
setContentView(R.layout.notification); get
// 獲得通知消息的管理器對象,負責管理 Notification 的發送與清除消息等 string
mManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);it
// 建立Notification對象 參數分別表明 通知欄 中顯示的圖標 顯示的標題 顯示的時間
notification = new Notification(R.drawable.jay,
"Android專業開發羣", System.currentTimeMillis());
// 設置在通知欄中點擊後Notification自動消失
notification.flags = Notification.FLAG_AUTO_CANCEL;
//設置點擊後轉跳的新activity
Intent intent = new Intent(this, MyShowActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP| Intent.FLAG_ACTIVITY_NEW_TASK);
//經過bundle能夠帶一些數據過去 這裏將字符串傳遞了過去
Bundle bundle = new Bundle();
bundle.putString("name", "從Notification轉跳過來的");
intent.putExtras(bundle);
//設置通知欄中顯示的內容
PendingIntent contentIntent = PendingIntent.getActivity(this,
R.string.app_name, intent, PendingIntent.FLAG_UPDATE_CURRENT);
notification.setLatestEventInfo(this, "Android專業開發羣",
"QQ羣號 164257885", contentIntent);
Button button0 = (Button)findViewById(R.id.button0);
button0.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
//打開這個Notification通知
mManager.notify(0, notification);
}
});
Button button1 = (Button)findViewById(R.id.button1);
button1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
//關閉這個Notification通知
mManager.cancelAll();
}
});
super.onCreate(savedInstanceState);
}
}