【问题标题】:Reopen activity directly after finishing a phone call打完电话后直接重新打开活动
【发布时间】:2011-05-07 12:13:11
【问题描述】:

在我使用电话意图拨打电话并完成通话后,电话会打开通话记录,而不是直接重新打开启动通话意图的应用活动。

如何跳过通话记录?通话结束后,我希望手机返回我的应用活动吗?

【问题讨论】:

  • startActivityForResult(yourIntent); 有帮助吗?
  • @keyboardsurfer 不,它没有帮助。还有其他解决方案吗?

标签: android logging android-activity phone-call


【解决方案1】:

启动/重新打开前一个活动并将标志 Intent.FLAG_ACTIVITY_SINGLE_TOP 设置为意图。 如果设置了这个标志,如果 Activity 已经在历史堆栈的顶部运行,则不会启动它。

【讨论】:

    【解决方案2】:

    您可以观看 android.intent.action.PHONE_STATE 的广播和额外的 EXTRA_STATE。如果是 EXTRA_STATE_IDLE,则调用结束,您可以实现重新打开应用的逻辑

    【讨论】:

    • 我使用 PhoneStateListener 而不是 BroadcastListener 重新打开应用的代码是什么?试过这个,但应用程序崩溃 Intent i = new Intent("android.intent.action.MAIN"); i.setComponent(new ComponentName("com.muaz", "HantarSMS") ); i.addCategory("android.intent.category.LAUNCHER"); startActivity(i);
    • 尝试在 MainActivity.class 上创建一个 Intent 就足够了。你不需要其他的东西 AFAIK
    【解决方案3】:

    试图重新打开应用,但应用崩溃

    Intent i = new Intent("android.intent.action.MAIN");    
    i.setComponent(new ComponentName("com.muaz", "HantarSMS") );
    i.addCategory("android.intent.category.LAUNCHER");
    startActivity(i);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-02-26
      • 1970-01-01
      • 1970-01-01
      • 2017-01-08
      • 1970-01-01
      • 1970-01-01
      • 2019-02-03
      • 1970-01-01
      相关资源
      最近更新 更多