当我在手机上收到来电时,我想让用户选择类似"在哪个应用中他们想要接听该电话"。
通常根据我的研究,当我对接收器使用android:permission="android.permission.CALL_PHONE"
动作时,它将自动打开"使用"完成动作但不幸的是没有得到那个弹出窗口。
要打开该弹出窗口,我已完成以下代码
Intent it = new Intent(Intent.ACTION_CALL);
it.setData(Uri.parse("tel:" +number));
it.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
if (ActivityCompat.checkSelfPermission(ctx,
Manifest.permission.CALL_PHONE) != PackageManager.PERMISSION_GRANTED) {
return;
}
ctx.startActivity(it);
使用该代码"使用"完成操作弹出窗口已打开但未在我的应用程序中获取
我在下面的链接中提到我的方案正常运行 how to use android.intent.action.CALL_PRIVILEGED and android.intent.action.NEW_OUTGOING_CALL?
那么请帮助我让我的情景有效吗?
答案 0 :(得分:1)
ACTION_CALL
用于OUTGOING呼叫,而不是来电。我不确定你能不能做你想做的事。当你问用户应该回答什么应用时,你会以某种方式“保持”来电。但是,接听来电是在BroadcastReceiver
内完成的,而不是在Activity
中。
您可以查看一些answers in this question。此人正尝试执行类似操作(在默认来电屏幕上显示另一个Activity
)。即使这似乎也很困难。
here是一个非常完整的解释,说明来电时到达的情况。