2012-09-17 28 views
2

我有一個應用程序通過ACTION_CALL打開語音通道。在這個時候,它工作的很好,但有一種情況是用戶有多個撥號器。ACTION_CALL與特定撥號器的意圖

此應用程序是關於跌倒檢測,所以用戶沒有時間(這是生死攸關的事情)在多個撥號程序中進行選擇,然後我想將其作爲配置甚至使用系統默認設置進行撥打撥號器。

感謝

回答

0

爲了避免您應該設置組件名稱的選擇器:

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