Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android發送多個notification

Android發送多個notification

編輯:關於Android編程

//Android發送多個notification  ,PendingIntent的ID很重要。
public void addNotification(JSONArray args, CallbackContext callbackContext) throws JSONException {
		//NOTIFICATION_ID = args.getInt(6);
		NOTIFICATION_ID = (int)(Math.random()*10000);
		
		try {
			nm = (NotificationManager) cordova.getActivity().getSystemService(
					Context.NOTIFICATION_SERVICE);
			Intent intent = new Intent(cx, cordova.getActivity().getClass());
			intent.putExtra("clickAction", args.getString(4));
			String clickActionParams = args.getJSONObject(5).toString();
			intent.putExtra("clickActionParams", clickActionParams);
			PendingIntent pIntent = PendingIntent.getActivity(cx, NOTIFICATION_ID, intent,
					PendingIntent.FLAG_UPDATE_CURRENT);
			int version = android.os.Build.VERSION.SDK_INT;
			Notification notify;
			// 如果版本號大於15.即采用notification.builder方法,如果版本號小於15,即采用舊方法,避免類似盧峰手機的問題
			if (version > 15) {
				notify = new Notification.Builder(cx)
						// 設置打開該通知,該通知自動消失
						.setAutoCancel(true)
						// 設置顯示在狀態欄的通知提示信息
						.setTicker(args.getString(0))
						// 設置通知的圖標
						.setSmallIcon(R.drawable.icon)
						// 設置通知內容的標題
						.setContentTitle(args.getString(0))
						// 設置通知內容
						.setContentText(args.getString(1) + NOTIFICATION_ID)
						.setWhen(System.currentTimeMillis())
						// 設改通知將要啟動程序的Intent
						.setContentIntent(pIntent).build();
			} else {
				notify = new Notification(R.drawable.icon, args.getString(0),
						System.currentTimeMillis());
				notify.setLatestEventInfo(cx, args.getString(0),
						args.getString(1), pIntent);
			}

			// 發送通知
			nm.notify(NOTIFICATION_ID, notify);
			// 通知顯示X秒後自動清除
			if (args.getBoolean(2)) {
				disappearTime = args.getLong(3);
				Handler handler = new Handler();
				handler.postDelayed(new Runnable() {
					public void run() {
						// TODO Auto-generated method stub
						nm.cancel(NOTIFICATION_ID);
					}
				}, disappearTime);
			}
		} catch (JSONException e) {
			e.printStackTrace();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved