1. 程式人生 > >Android-Notification手機狀態列通知

Android-Notification手機狀態列通知

簡介:

通知是顯示在手機狀態列的通知(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"/>