简体   繁体   English

使用广播接收器android在来电过程中关闭屏幕

[英]turn off screen during incoming call using broadcast receiver android

I want to prevent my android mobile screen from turning on while incoming call. 我想防止来电时打开我的android手机屏幕。 I have searched so much but could not find any solution. 我已经搜索了很多,但是找不到任何解决方案。 I can turn off screen in my activity using 'system brightness' but not in broadcast receiver during incoming call. 我可以使用“系统亮度”在活动中关闭屏幕,但在来电过程中无法在广播接收器中关闭屏幕。 Anyone who has the solution? 有解决方案的人吗? I am using following code in my activity and it works, but in broadcast receiver it's not working in onReceive method. 我在活动中使用以下代码,它可以工作,但是在广播接收器中,它不适用于onReceive方法。

WindowManager.LayoutParams layoutParam = getWindow().getAttributes();
oldBrightness = android.provider.Settings.System.getInt(getContentResolver(),          
android.provider.Settings.System.SCREEN_BRIGHTNESS)/255f;
layoutParam.screenBrightness = 0; 
layoutParam.flags |= WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON;
getWindow().setAttributes(layoutParam);

Try the following code to turn off the screen instead of controling the brightness: 尝试使用以下代码关闭屏幕,而不是控制亮度:

DevicePolicyManager mDPM = (DevicePolicyManager)getSystemService(Context.DEVICE_POLICY_SERVICE);
mDPM.lockNow();
Have you declared broadcast receiver in manifest file.

Please check below code in your manifest file:

1.    

            <uses-permission android:name="android.permission.READ_PHONE_STATE" />

            <receiver android:name=".IncomingCallReceiver " android:enabled="true">
                <intent-filter>
                <action android:name="android.intent.action.PHONE_STATE" />
                </intent-filter>
            </receiver> 

2.
Receiver File:IncomingCallReceiver.java

 public class IncomingCallReceiver extends BroadcastReceiver
 {
@Override
      public void onReceive(Context mContext, Intent intent)
      {

          Toast.makeText(mContext, "call is coming", Toast.LENGTH_SHORT).show();
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM