【问题标题】:Specify which app respond to intent startActivity call指定哪个应用响应 Intent startActivity 调用
【发布时间】:2018-06-04 19:02:10
【问题描述】:

我正在为我的工作开发一个简单的 android 应用程序

有一个按钮,点击后会触发一系列电话号码的 ACTION_CALL 意图。问题是,我的手机正在打开 Skype 以尝试拨打电话,我希望它使用内置的本地电话应用程序。这是运行意图调用的代码:

Intent intent = new Intent(Intent.ACTION_CALL);

                intent.setData(Uri.parse("tel:989653523"));
                startActivity(intent);

我知道“tel:”协议可以同时适用于 Skype 和本机电话应用程序,但我怎样才能使该应用程序始终可以使用本机电话应用程序打开它?

【问题讨论】:

  • 参考this的帖子,翻看答案,Derzu的答案看起来很有趣。
  • 这可能意味着 Skype 被设置为您的默认呼叫应用程序,您是否尝试将本机电话应用程序设置为默认值

标签: android phone-call android-phone-call


【解决方案1】:

好吧,您需要进行明确的意图调用。

Intent i=new Intent (this,theActivityYouWantToStart.class);

【讨论】:

  • 问题是关于隐式意图而不是显式。
  • @LieForBananas。仔细阅读他的帖子。如果他使用隐式意图,任何可以拨打电话的应用程序都将显示为一个选项。他需要明确的意图来调用特定的应用程序。
  • 在他的问题中没有提到含蓄的。我弄错了吗?
  • 没错,但他怎么会知道这个特定应用的 Activity 名称?
  • 如果他想要一个特定的应用程序,它必须使用包名称等来完成,正如我在问题下链接的答案中提到的那样。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多