最近在做android上的游戏,现在遇到一个问题,游戏运行中若点击电源键锁屏,希望解锁后直接返回到先前的游戏运行状态,可是现在只能返回到游戏初始的菜单选择界面。
后来查了下网上一些资料说电源键的响应被系统直接截获,只能通过截获android.intent.action.SCREEN_ON和OFF,但是研究了一段时间依然不能解决。特来求助大家,最好能详细一些,给一些关键性代码。
后来查了下网上一些资料说电源键的响应被系统直接截获,只能通过截获android.intent.action.SCREEN_ON和OFF,但是研究了一段时间依然不能解决。特来求助大家,最好能详细一些,给一些关键性代码。
谢谢您的回复,现在是这样
我可以收到SCREEN_ON和OFF的广播,但进行了下面这个处理(网上搜得)
pm = ( PowerManager ) getSystemService ( GameActivity.this.POWER_SERVICE );
wakeLock = pm.newWakeLock( PowerManager.PARTIAL_WAKE_LOCK, "CallLogsService" );
本想CPU可以继续运行,但是锁屏后Activity进程直接杀死了,原来的游戏进程也就没了,再onResume也只是重启游戏。所以现在我想要的是要做的就是锁屏后再解锁,游戏还原为原来进行中的画面,也即原进程保留解锁后继续。
谢谢帮助,拜谢啦
<intent-filter>
<action android:name="android.intent.action.SCREEN_OFF"/>
<action android:name="android.intent.action.SCREEN_ON"/>
</intent-filter>
</receiver>
<uses-permission android:name="android.permission.DEVICE_POWER"/>
if(action.equals(Intent.ACTION_SCREEN_ON)
|| action.equals(Intent.ACTION_SCREEN_OFF)){
//....
}