Android 裏的各類通訊方式(三)

四: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);    

    }   

}    

相關文章
相關標籤/搜索