2
我有一個應用程序通過ACTION_CALL打開語音通道。在這個時候,它工作的很好,但有一種情況是用戶有多個撥號器。ACTION_CALL與特定撥號器的意圖
此應用程序是關於跌倒檢測,所以用戶沒有時間(這是生死攸關的事情)在多個撥號程序中進行選擇,然後我想將其作爲配置甚至使用系統默認設置進行撥打撥號器。
感謝
我有一個應用程序通過ACTION_CALL打開語音通道。在這個時候,它工作的很好,但有一種情況是用戶有多個撥號器。ACTION_CALL與特定撥號器的意圖
此應用程序是關於跌倒檢測,所以用戶沒有時間(這是生死攸關的事情)在多個撥號程序中進行選擇,然後我想將其作爲配置甚至使用系統默認設置進行撥打撥號器。
感謝
爲了避免您應該設置組件名稱的選擇器:
// i.e. Applications.getIntentForActivity(new Intent(Intent.ACTION_SEND), "Messaging");
public static Intent getIntentForActivity(Intent intent, String hint) {
ResolveInfo info = getActivityForIntent(intent, hint);
if (info == null)
return intent;
ComponentName name = Applications.getComponentForActivity(info);
if (name == null)
return intent;
// intent.addCategory(Intent.CATEGORY_LAUNCHER);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK| Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
// | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
intent.setComponent(name);
return intent;
}