我正在开发一个应用程序,当来电来电来电屏幕时显示来电者的位置。我成功从我的算法中获取位置,但我无法在Deafult Incoming Screen上显示它。
如果我使用A toast,那么它只会显示1或2秒,我希望在收到电话之前显示信息。
我应该使用Toast,Notification或其他什么,以及如何做到这一点。
简而言之,在接听电话之前,如何在来电屏幕上显示内容
class IncomingCallREceiver extends BroadcastReciever
{
void onRecieve()
{
// here I want to show the Information
}
}
答案 0 :(得分:1)
你无法覆盖Android的通话屏幕,并且有充分的理由,事情可能会被欺骗!
话虽如此,Dialog很可能是在用户选择之前展示某些内容的最佳解决方案。制作Dialog的最简单方法是使用DialogFragments。但是,由于无法从接收器显示Dialog,因此您需要启动一个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并将其显示给用户。