Android-Notification手機狀態列通知
阿新 • • 發佈:2018-12-17
簡介:
通知是顯示在手機狀態列的通知(PS:就是手機上方,顯示時間啥的那一欄)
用法:
Notification添加了Builder()類,其包含如下方法:
1. setDefaults() 通知led燈、音樂、震動等
2. setAutoChange() 設定點選通知後,通知自動從狀態列刪除
3. setContentTitle() 通知標題
4. setContentText() 通知內容
5. setSmallcon() 為通知設定圖示
6.setLargelcon() 為通知設定大圖示
7. setTick() 設定通知狀態列的提示文字
8. setContentIntent()點選通知後要啟動的相應元件
執行效果:
實現方法:
1.首先建立一個活動用來執行:
public class MainActivity extends Activity { static final int NOTIFICATION_ID = 0x123; NotificationManager notificationManager; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //獲取系統的Notification物件 notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); } //為傳送通知的按鈕點選事件定義事件處理方法 @RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN) public void send(View source){ //建立一個其他Activity的Intent Intent intent = new Intent(MainActivity.this,TextActivity.class); PendingIntent pendingIntent = PendingIntent.getActivity(MainActivity.this,0,intent,0); Notification notification = new Notification.Builder(this) //設定開啟通知 通知自動消失 .setAutoCancel(true) //設定顯示狀態列的通知提示資訊 .setTicker("注目提醒!") //設定通知圖示 .setSmallIcon(R.drawable.seek02) //設定通知內容標題 .setContentTitle("該應用發生 爆炸大 大 大 新聞!!") //設定通知內容 .setContentText("冒險沒有 你手機自嗨罷了~") //設定使用預設的聲音 LED燈 .setDefaults(Notification.DEFAULT_SOUND|Notification.DEFAULT_LIGHTS) //設定通知自定義聲音 // .setSound() .setWhen(System.currentTimeMillis()) //設定他只要啟動的程式Intent .setContentIntent(pendingIntent) .build(); notificationManager.notify(NOTIFICATION_ID,notification); } public void del(View view){ //取消通知 notificationManager.cancel(NOTIFICATION_ID); } }
2.然後建立一個要開啟的活動(隨意建就行)(佈局檔案任意我這裡就不寫了)
public class TextActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_t_exta_ctivity);
}
}
最後記得新增許可權(mainfest)
<!--訊息通知使用到閃光燈和聲音許可權-->
<uses-permission android:name="android.permission.FLASHLIGHT"/>
<uses-permission android:name="android.permission.VIBRATE"/>