我用了:
getWindow().addFlags(android.view.WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
Run Code Online (Sandbox Code Playgroud)
如何恢复默认状态(不保持)?
我的应用程序中有三个活动.我希望屏幕在第二次活动时保持清醒状态.除非手动按下"锁定"键,否则屏幕不应在我的第二个活动中熄灭.我经历了许多链接,但他们似乎对我不清楚.
我有一个Android(1.5版)应用程序,按下按钮时需要不断运行.因此,当Button按下a时,我希望手机保持打开状态,不希望屏幕或CPU超时.
当Button按下另一个时,我希望手机恢复正常并按用户设置超时.
我无法使用此代码关闭屏幕.我使用PowerManager和wl.release()方法,但它不起作用.有人能告诉我一个例子吗?
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
wl = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK, "DoNotDimScreen");
Run Code Online (Sandbox Code Playgroud)
这是我的功能的一部分:
stateString = "nextone";
if(stateString=="nextone"){
wl.release();
}
Run Code Online (Sandbox Code Playgroud)
我还在清单中添加了权限但没有结果.
我正在使用wl.acquire(). 这工作正常。只要我的应用程序存在,我就需要唤醒锁,所以调用release()只有在应用程序离开时才能进行。
我必须打电话给release()某个地方吗?例如在onStop()?我会说不,但我不确定。
我找到了几种方法来调暗屏幕,但我不确定它们是如何与FLAG_KEEP_SCREEN_ON协同工作的:
即使我将亮度设置为0.0,上述哪种方法都会保持屏幕亮起?
注意我是 Android 和 OpenGL 的新手。
我使用代码在屏幕上显示 Android 相机预览。我想在下面的“MainRenderer”类中使用 OpenGL 2.0(以匹配我的相机的纵向分辨率,因为我的应用程序处于纵向模式)将相机角度旋转 90 度。我已经研究过Android 相机旋转,但它没有执行旋转。
在布局 xml 中设置“android:rotation='90'”会旋转表面视图但会产生黑色表面 - 没有相机预览。
由于我使用 GLSurfaceView,我现在希望通过执行矩阵旋转和纵横比调整来实际旋转 OpenGL 2.0 中的相机预览。像如何在 OpenGL 2.0 ES 和http://www.programcreek.com/java-api-examples/index.php?class=android.opengl.Matrix&method=rotateM 中旋转相机视图这样的帖子很少 , 但我无法联系由于我不熟悉 OpenGL(我希望很快熟悉),因此使用以下代码的 API。
我知道也许rotateM 和translateM(猜测使用ModelViewProjection Matrix)可能会做我打算完成的事情。
我想知道下面可能需要更改 vtmp 和 ttmp 吗?
任何帮助表示赞赏。
原始代码来自http://maninara.blogspot.com/2012/09/render-camera-preview-using-opengl-es.html
// 在清单中
< uses-feature android:glEsVersion="0x00020000" android:required="true"/>
< uses-feature android:name="android.hardware.camera"/>
< uses-permission android:name="android.permission.CAMERA"/>
< uses-permission android:name="android.permission.WAKE_LOCK"/>
... android:screenOrientation="landscape" ... // activity property
Run Code Online (Sandbox Code Playgroud)
// 活动
public class MainActivity extends Activity {
private …Run Code Online (Sandbox Code Playgroud)