Notification

public class MainActivity extends AppCompatActivity implements View.OnClickListener {

    private Context mContext;
    private NotificationManager mNManager;
    private Notification notify1;
    Bitmap LargeBitmap = null;
    private static final int NOTIFYID_1 = 1;

    private Button btn_show_normal;
    private Button btn_close_normal;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mContext = MainActivity.this;
        //建立大圖標的Bitmap
        LargeBitmap = BitmapFactory.decodeResource(getResources(), R.mipmap.iv_lc_icon);
        mNManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
        bindView();

    }


    private void bindView() {
        btn_show_normal = (Button) findViewById(R.id.btn_show_normal);
        btn_close_normal = (Button) findViewById(R.id.btn_close_normal);
        btn_show_normal.setOnClickListener(this);
        btn_close_normal.setOnClickListener(this);
    }


    @Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.btn_show_normal:
                //定義一個PendingIntent點擊Notification後啓動一個Activity
                Intent it = new Intent(mContext, OtherActivity.class);
                PendingIntent pit = PendingIntent.getActivity(mContext, 0, it, 0);

                //設置圖片,通知標題,發送時間,提示方式等屬性
                Notification.Builder mBuilder = new Notification.Builder(this);
                mBuilder.setContentTitle("葉良辰")                        //標題
                        .setContentText("我有一百種方法讓你呆不下去~")      //內容
                        .setSubText("——記住我叫葉良辰")                    //內容下面的一小段文字
                        .setTicker("收到葉良辰發送過來的信息~")             //收到信息後狀態欄顯示的文字信息
                        .setWhen(System.currentTimeMillis())           //設置通知時間
                        .setSmallIcon(R.mipmap.ic_lol_icon)            //設置小圖標
                        .setLargeIcon(LargeBitmap)                     //設置大圖標
                        .setDefaults(Notification.DEFAULT_LIGHTS | Notification.DEFAULT_VIBRATE)    //設置默認的三色燈與振動器
                        .setSound(Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.biaobiao))  //設置自定義的提示音
                        .setAutoCancel(true)                           //設置點擊後取消Notification
                        .setContentIntent(pit);                        //設置PendingIntent
                notify1 = mBuilder.build();
                mNManager.notify(NOTIFYID_1, notify1);
                break;

            case R.id.btn_close_normal:
                //除了能夠根據ID來取消Notification外,還能夠調用cancelAll();關閉該應用產生的全部通知
                mNManager.cancel(NOTIFYID_1);                          //取消Notification
                break;

        }
    }
}
相關文章
相關標籤/搜索