2013年10月18日 星期五

Android Notification 通知

Notification 通知 像是通訊軟體或遊戲有訊息時出現在狀態列上的訊息來提示使用者有新訊息或是有更新
使用方法很簡單,基本上AndroidManifest.xml是不用任何的權限(但如果你有振動這類的就必須加上)

public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);




Button btn = (Button)findViewById(R.id.ok);
btn.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
                                 //取得 NotificationManager 的服務,這樣系統才知道你想要做什麼喔
NotificationManager notificationManager=(NotificationManager) getSystemService(NOTIFICATION_SERVICE);
                                //new Intent(MainActivity.this, MainActivity.class)你所要執行的Activity
Intent notifyIntent = new Intent(MainActivity.this, MainActivity.class);
                                //重新啟動Activity
notifyIntent.setFlags( Intent.FLAG_ACTIVITY_NEW_TASK);
                                //設定通知被點擊時所要執行的Activity
PendingIntent appIntent=PendingIntent.getActivity(MainActivity.this,0,notifyIntent,0);
                                //取得 Notification 以用來設定相關文字、圖示
Notification notification = new Notification();
                                //設定 通知的圖示 (這邊使用Android內建圖示,圖2)
notification.icon=android.R.drawable.ic_btn_speak_now;
                                //設定被通知時所顯示的文字(圖1
notification.tickerText="Notfication TEST";
                                //  設定通知時的振動頻率、提示燈光、提示音 這裡使用預設
notification.defaults=Notification.DEFAULT_ALL;
                                //設定通知訊息的標題與內容(圖3
notification.setLatestEventInfo(MainActivity.this,"Title","content",appIntent);
                               //送出通知囉
                               notificationManager.notify(0,notification);
}
});
}
}

如果想要有振動功能,記得在AndroidManifest.xml加上<uses-permission android:name="android.permission.VIBRATE" /> 
圖1


圖2


圖3