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; } } }