测试时候发现的问题,比如有些较长的过场动画,用户会有一段时间没有操作,如果系统设置的锁屏时间较短的话,就会直接触发锁屏。这样使的用户体验较差!下面就是解决方法。
打开 src\..\工程名.java
这里会用到的是android的一个电源管理类
引入
import android.content.Context;
import android.os.PowerManager;
申明一个类内私有变量
private PowerManager.WakeLock mWakeLock;
在onCreate里添加
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
mWakeLock = pm.newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK,"MyLock");
mWakeLock.acquire();
}
为了适应各种情况分别重载以下事件
@Override
public void onPause()
{
super.onPause();
if(mWakeLock != null)
{
mWakeLock.release();
mWakeLock = null;
}
}
@Override
public void onResume()
{
super.onResume();
PowerManager pm = (PowerManager)getSystemService(Context.POWER_SERVICE);
mWakeLock = pm.newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK, "<span><span class="string">MyLock</span></span>");
mWakeLock.acquire();
}
@Override
protected void onDestroy()
{
super.onDestroy();
if(mWakeLock != null)
{
mWakeLock.release();
mWakeLock = null;
}
}
最后在ManiFest.xml内添加一个权限
<uses-permission android:name="android.permission.WAKE_LOCK"/>