【问题标题】:How to show something on Incoming Call Screen如何在来电屏幕上显示某些内容
【发布时间】:2012-12-20 03:48:17
【问题描述】:

我正在开发一个应用程序,当来电屏幕出现来电时,它会显示来电者的位置。我已成功从我的算法中获取位置,但我无法在默认传入屏幕上显示它。

如果我使用 A toast,那么它只会出现 1 或 2 秒,我希望信息应该出现直到接听电话。

我应该使用 Toast、Notification 什么的,以及如何使用。

简而言之,我如何在来电屏幕上显示某些内容,直到接听电话

       class IncomingCallREceiver extends BroadcastReciever
       {
               void onRecieve()
              {
                //     here I want to show the Information
               }
        }

【问题讨论】:

  • 简短的回答是,您不能在活动中显示不属于您的内容。所以你唯一的选择是 Toast 和 Notification,除非你想创建一个完整的手机应用

标签: android


【解决方案1】:

您无法覆盖 Android 的通话屏幕,并且有充分的理由,事情可能会被欺骗!

话虽如此,对话框很可能是在用户拿起之前显示某些内容的最佳解决方案。制作Dialog 的最简单方法是使用DialogFragments。但是,由于无法从接收方显示对话框,因此您需要启动一个 Activity。所以你的onReceive() 代码应该是这样的:

void onReceive(Context context, Intent intent)
          {
            Intent showDialogIntent = new Intent (context, DialogActivity.class);
            showDialogIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            startIntent (showDialogIntent);               
          }

然后当您的 DialogActivity 启动时,它的 onCreate() 方法将创建 Dialog 并将其显示给用户。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-12
    相关资源
    最近更新 更多