2015-06-05 36 views
0

我有一個簡單的Activity,它在屏幕上添加了一個視圖。代碼是:WindowManager.addView可以防止其他應用程序設置屏幕亮度

public class MainActivity extends Activity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    WindowManager wm = (WindowManager)this 
      .getSystemService(Context.WINDOW_SERVICE); 

    View view = new customView(this); 
    view.setBackgroundColor(0); 
    WindowManager.LayoutParams params = new WindowManager.LayoutParams(); 
    params.width = 0; 
    params.height = 0; 
    params.gravity = Gravity.TOP | Gravity.LEFT; 
    params.x = 1; 
    params.y = 1; 
    params.format = PixelFormat.RGBA_8888; 
    params.type = WindowManager.LayoutParams.TYPE_SYSTEM_ERROR; 
    params.flags = WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH | WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE; 
    wm.addView(view, params); 
} 


public static class customView extends View { 

    public customView(Context context) { 
     super(context); 
    } 
    } 
}​ 

奇怪的是,視圖添加了一些應用程序後(例如MX Player)無法再設置屏幕亮度!

劑量任何人有任何想法?

回答

0

我建議你將不會被窗口管理器addview因爲窗口管理器會與許多東西,比如活動互動,如果你想addview到活動domaticly,你應該使用一個控制像viewpager或者乾脆使用的ViewGroup到addview

+0

謝謝!但我希望將視圖添加到其他應用程序的前面。 – shhp

+0

http://developer.android.com/reference/android/app/Presentation.html這是否可以幫助你 – jackGao