如何以编程方式将呼叫屏幕置于前面?

时间:2015-01-11 22:16:42

标签: android android-intent telephony telephonymanager

我正在为有视力问题的人制作一个家庭更换应用程序。我不希望用户在通话期间错误地离开通话屏幕。

如果用户在通话过程中意外地回到了我的发射器,我试图以编程方式将屏幕放到前面,但我还没有能够想出如何做到这一点。这就是我现在正在尝试的事情:

@Override
public void onResume() {
    // If call state offhook, go back to current call
    TelephonyManager telephony = (TelephonyManager) getApplicationContext().getSystemService(Context.TELEPHONY_SERVICE);
    if (telephony.getCallState() == TelephonyManager.CALL_STATE_OFFHOOK) {
        Intent i = new Intent(Intent.ACTION_DIAL, null);
        i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK );
        getApplicationContext().startActivity(i);
    }

如何将呼叫屏幕置于前面?

1 个答案:

答案 0 :(得分:0)

我会给它一个不同的方法,隐藏屏幕底部的菜单。这样,用户在通话期间不会错误地按下任何按钮。要做到这一点,您需要做的就是在通话期间添加以下代码行:

getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);

因此看起来类似于以下屏幕:

enter image description here

这种方法听起来如何?希望它可以帮助你:))