【问题标题】:My app won't show up on the "Complete action" chooser dialog for android.intent.action.Call我的应用不会显示在 android.intent.action.Call 的“完成操作”选择器对话框中
【发布时间】:2017-07-28 05:53:10
【问题描述】:

当我在手机上接到来电时,我想要求用户选择“他们想在哪个应用中接听电话”之类的操作。

通常根据我的研究,当我对接收器使用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?

那么任何人都可以帮助我使我的场景工作吗?

【问题讨论】:

  • 我很困惑。您要处理来电还是去电?这是两件不同的事情,您的问题包含两者的元素。
  • @David 我想处理来电
  • 你看过这个吗? stackoverflow.com/questions/15563921/… 来电检测是通过使用BroadcastReceiver 来检测电话状态的变化来处理的。您的问题涉及“完成使用操作”弹出窗口,但这仅适用于Activity
  • 我已经设置了广播接收器来检测来电电话状态我的情况是这样的,每当我在手机中接到来电时,我想问用户“他们想在哪个应用程序中重定向他们的称呼?”使用“使用完成操作”弹出窗口

标签: android android-intent callback


【解决方案1】:

ACTION_CALL 用于拨出电话,而不是拨入电话。我不确定你真的可以做你想做的事。当您询问用户应使用哪个应用程序接听来电时,您可能需要以某种方式“保持”来电。但是,接听来电是在 BroadcastReceiver 中完成的,而不是在 Activity 中完成的。

您可以查看一些answers in this question。此人正在尝试做类似的事情(在默认来电屏幕上显示另一个 Activity)。即使这似乎也很困难。

here 非常完整地解释了来电到达时会发生什么。

【讨论】:

  • 谢谢大卫,我会检查
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-24
  • 2016-04-22
  • 1970-01-01
  • 2016-10-15
  • 2013-07-19
相关资源
最近更新 更多