2

我有一个通过 ACTION_CALL 打开语音通道的应用程序。目前,它工作得很好,但在用户拥有多个拨号器的情况下。

此应用程序是关于跌倒检测,因此用户没有时间(生死攸关)在他拥有的多个拨号器中进行选择,然后我想将其作为配置,甚至使用系统默认拨号器拨打电话。

谢谢

4

1 回答 1

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;
}
于 2013-03-20T21:16:50.630 回答