Android 进行点击式活动

Android 进行点击式活动,android,android-activity,window,Android,Android Activity,Window,我正试图通过编程方式调整手机的亮度。我的应用程序中有一个半透明的活动,但是用户不能通过它点击到它下面的活动/窗口。我会在设置亮度后立即终止此活动,但是我想在此活动中做更多的工作(例如逐渐调整亮度),这需要一些时间,我不希望用户在他们的手机上敲打,问为什么他们的操作没有被注册 因此,基本上,我需要创建一个模拟窗口,它可以让我在不显示的情况下成功地调整屏幕亮度,或者解决如何使活动点击。我也不知道该怎么做 顺便说一句,这是在活动中进行亮度调整的代码: android.provider.Settings

我正试图通过编程方式调整手机的亮度。我的应用程序中有一个半透明的活动,但是用户不能通过它点击到它下面的活动/窗口。我会在设置亮度后立即终止此活动,但是我想在此活动中做更多的工作(例如逐渐调整亮度),这需要一些时间,我不希望用户在他们的手机上敲打,问为什么他们的操作没有被注册

因此,基本上,我需要创建一个模拟窗口,它可以让我在不显示的情况下成功地调整屏幕亮度,或者解决如何使活动点击。我也不知道该怎么做

顺便说一句,这是在活动中进行亮度调整的代码:

android.provider.Settings.System.putInt(getContentResolver(),
            android.provider.Settings.System.SCREEN_BRIGHTNESS, Math.round(SOME_BRIGHTNESS * 255f));

Window window = getWindow(); 
window.getAttributes().screenBrightness = SOME_BRIGHTNESS;
window.setAttributes(window.getAttributes());

float sysBrightPer = getSystemBrightness(getApplicationContext());   

new Thread() {
    public void run() {
         try {
             sleep(BRIGHT_TIMEOUT);
         } catch (InterruptedException e) {
             e.printStackTrace();
         }
         finish();
    }
}.start();  
有什么建议吗


另外,我在市场上找到了这个应用程序。我想知道这样做是否对我有帮助

哈!那个应用确实帮助了我,如果只是因为它让我找到了这个解决方案!

对于“单击惰性”,请使用以下命令:

    getWindow().addFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE);  

如果应用到窗口本身,恐怕这在4.0+中不再有效(可能是为了防止在透明覆盖中使用像onkey这样的活动类方法)。但是,仍然可以使用windowmanager.addview或LayoutFlater.inflate来添加扩展viewgroup的自定义视图类,如果在添加或扩展此视图时使用layoutparams.FLAG_NOT_TOUCHABLE,则它将被单击通过,即使调用它的活动进入onpause,它仍将保持在顶部

getWindow().addFlags(WindowManager.LayoutParams.FLAG\u不可触摸)

如果要拦截特定视图上的触摸,可以使用窗口管理器添加具有不同标志的视图: e、 g


我没有考虑这样做,但原因很好,因为API水平对于我的目标市场来说太高了。我看到你有了解决方案。但无论如何,你可以使用碎片官方兼容性库在任何API级别上使用它们:-)出于好奇:这是一个点击活动?据我所知,是的。是的,它是一个点击活动。但是,此活动中的每个视图也将是点击浏览。我如何仍能拦截视图单击(在最上面的活动中)?
WindowManager.LayoutParams params = new WindowManager.LayoutParams(...);
getWindowManager().addView(myButton,params);