Android 響應notification事件

來源:互聯網
上載者:User

標籤:

兩種情況

第一種情況就是:

點擊Notification ——>進入secActivity ——> back鍵 ——> 退出應用

PendingIntent contentIntent = PendingIntent.getActivity(context, 0,  intent, PendingIntent.FLAG_CANCEL_CURRENT);  

第二種情況:

點擊Notification ——>進入secActivity ——> back鍵 ——> 退到mainActivity ——>back鍵 ——>退出應用

需要添加intent數組,這裡是兩個單位,所以先開啟的是secActivity(intent[1]),

需要在Manifest中對指定的Activity設定屬性

<activity android:name=".secActivityl"        android:launchMode="singleTask"        android:taskAffinity=""        android:excludeFromRecents="true"></activity>

PendingIntent提供了個靜態方法getActivities,裡面可以設定一個Intent數組,用來指定一系列的Activity。

Intent[] makeIntentStack(Context context) {    Intent[] intents = new Intent[2];    intents[0] = Intent.makeRestartActivityTask(new ComponentName(context, com.example.notificationtest.MainActivity.class));    intents[1] = new Intent(context,  com.example.notificationtest.SubActivity.class);    return intents;}

其中需要注意的是Intent.makeRestartActivityTask方法,這個方法用來建立activity棧的根activity

接下來,建立並顯示Notification:

void showNotification(Intent intent) {    Notification notification = new Notification(            R.drawable.status_icon,             "訊息列頂部標題",            System.currentTimeMillis());    PendingIntent contentIntent = PendingIntent.getActivities(            this,            0,            makeIntentStack(this),             PendingIntent.FLAG_CANCEL_CURRENT);    notification.setLatestEventInfo(            this,             "下拉訊息列標題",            "訊息內容",             contentIntent);    notification.flags |= Notification.DEFAULT_ALL;    mNM.notify(1, notification);}

 

Android 響應notification事件

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.