Android 非活动时如何访问窗口?

Android 非活动时如何访问窗口?,android,get,window,screen,brightness,Android,Get,Window,Screen,Brightness,我想访问Window类,以便设置手机的屏幕亮度。问题是,我想从中执行此操作的类不是活动。有没有可能在没有活动的情况下做到这一点?如果有帮助的话,我有一个上下文和一个内容解析器 提前谢谢 这里有两个选项 启动新的透明活动,调整亮度值(包括窗口和系统设置),然后在活动上调用finish()。在某些情况下,无论您使用什么标志,这都会窃取用户的焦点 使用对话框和标志WindowManager.LayoutParams.TYPE_system_overlay创建持久透明的系统范围覆盖。这可能会导致一些奇怪

我想访问Window类,以便设置手机的屏幕亮度。问题是,我想从中执行此操作的类不是活动。有没有可能在没有活动的情况下做到这一点?如果有帮助的话,我有一个上下文和一个内容解析器


提前谢谢

这里有两个选项

  • 启动新的透明
    活动
    ,调整亮度值(包括
    窗口
    和系统设置),然后在
    活动
    上调用
    finish()
    。在某些情况下,无论您使用什么标志,这都会窃取用户的焦点

  • 使用
    对话框
    和标志
    WindowManager.LayoutParams.TYPE_system_overlay
    创建持久透明的系统范围覆盖。这可能会导致一些奇怪的问题,比如阻止应用程序的安装


  • 换句话说,没有一种干净的方法可以做到这一点。

    这里有两种选择

  • 启动新的透明
    活动
    ,调整亮度值(包括
    窗口
    和系统设置),然后在
    活动
    上调用
    finish()
    。在某些情况下,无论您使用什么标志,这都会窃取用户的焦点

  • 使用
    对话框
    和标志
    WindowManager.LayoutParams.TYPE_system_overlay
    创建持久透明的系统范围覆盖。这可能会导致一些奇怪的问题,比如阻止应用程序的安装

  • 换句话说,没有干净的方法可以做到这一点。

    您是否尝试过
    ((活动)mContext).getWindow()
    ?您可能希望包括一项检查,确保
    mContext
    实际上是一个
    活动
    (或处理异常),因为并非所有
    上下文
    都是
    活动
    。您是否尝试过
    ((活动)mContext).getWindow()
    ?您可能希望包括检查
    mContext
    是否实际上是
    活动(或处理异常),因为并非所有
    上下文都是
    活动。