我在我的應用程式中使用了呼叫功能。當應用程式在前臺時,應用程式作業良好。但當應用程式在后臺時,如何在安卓中打開來電活動。當一個推送通知出現時,在安卓系統中打開來電活動,如何執行這項任務?
uj5u.com熱心網友回復:
Android 10(API級別29)和更高的版本對應用程式在后臺運行時可以啟動活動的時間進行了限制。這些限制有助于最大限度地減少對用戶的干擾,并使用戶對其螢屏上顯示的內容有更多的控制權。
https://developer.android.com/guide/components/activities/background-starts
uj5u.com熱心網友回復:
通知可能有一個附加的待定意圖。這個懸而未決的意圖可以啟動一個活動。參見Notification.Builder.setContentIntent()
。uj5u.com熱心網友回復:
你可以為你的通知添加一個Pending Intent,所以當用戶點擊它時,你的意圖將被啟動。
要創建一個Pending Intent,你應該:
為你的目標活動創建一個正常的Intent。
val goActivity = Intent(context, Activity::class.java)
創建一個Pending Intent,傳遞一個背景關系、一個用于識別Pending Intent的請求代碼、你的普通Intent和一個用于配置Intent啟動方式的標志。
val goActivityPending = PendingIntent.getActivity(context, pendingIntentCode, goActivity, PendingIntent.FLAG_NEW_TASK)/code>
使用方法setContentIntent將你的Pending Intent添加到你的通知構建器中。
val notification = NotificationCompat.Builder(context, channelId) .setContentTitle(context.getString(R.string.notificationTitle)) .setContentText(context.getString(R.string.notificationContent)) .setContentIntent(goActivityPending) /code>
這就是了! 當你點擊通知時,你的活動將被反對。你也可以使用addAction()來為你的通知添加具有不同掛起意圖的按鈕。
如果你想了解更多關于Intent標志的資訊,請閱讀這個。Pending Intent Flags
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/306694.html
標籤:
上一篇:帶有影片的碎片交易
