【问题标题】:turn off screen during incoming call using broadcast receiver android使用广播接收器android在来电期间关闭屏幕
【发布时间】:2014-09-18 05:46:22
【问题描述】:

我想防止我的安卓手机屏幕在来电时打开。我已经搜索了很多,但找不到任何解决方案。我可以在我的活动中使用“系统亮度”关闭屏幕,但在来电期间不能在广播接收器中关闭。谁有解决方案? 我在我的活动中使用以下代码并且它有效,但在广播接收器中它在 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);

【问题讨论】:

    标签: android


    【解决方案1】:

    尝试以下代码关闭屏幕而不是控制亮度:

    DevicePolicyManager mDPM = (DevicePolicyManager)getSystemService(Context.DEVICE_POLICY_SERVICE);
    mDPM.lockNow();
    

    【讨论】:

      【解决方案2】:
      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();
      }
      

      【讨论】:

        猜你喜欢
        • 2012-03-17
        • 1970-01-01
        • 1970-01-01
        • 2023-04-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多