应用层调哪个接口可以实用睡眠/唤醒 应用程序想模仿Power键的睡眠/唤醒,请问分别是哪个接口,求高手指点 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 public class ScreenLock { /** * 唤醒屏幕 */ public static void wakeup(Context context){ PowerManager mPowerManager = (PowerManager) context.getSystemService(Context.POWER_SERVICE); PowerManager.WakeLock wakeLock = mPowerManager.newWakeLock(PowerManager.FULL_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP, "Gank"); //唤醒 wakeLock.acquire(); } /** * 使屏幕休眠 */ public static void sleep(Context context){ PowerManager mPowerManager = (PowerManager) context.getSystemService(Context.POWER_SERVICE); PowerManager.WakeLock wakeLock = mPowerManager.newWakeLock(PowerManager.FULL_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP, "Gank"); //休眠 wakeLock.release(); } /** * 判断屏幕的状态 * @return : */ public static boolean isScreenOn(Context context){ PowerManager mPowerManager = (PowerManager) context.getSystemService(Context.POWER_SERVICE); return mPowerManager.isScreenOn(); } /** * 锁屏 */ public static void lockKeyguard(Context context){ KeyguardManager mKeyguardManager = (KeyguardManager) context.getSystemService(Context.KEYGUARD_SERVICE); KeyguardLock mKeyguardLock = mKeyguardManager.newKeyguardLock(""); mKeyguardLock.reenableKeyguard();//锁 } /** * 解锁 */ public static void unLockKeyguard(Context context){ KeyguardManager mKeyguardManager = (KeyguardManager) context.getSystemService(Context.KEYGUARD_SERVICE); KeyguardLock mKeyguardLock = mKeyguardManager.newKeyguardLock(""); mKeyguardLock.disableKeyguard(); } 一调休眠方法,android就重启:W/dalvikvm( 2214): threadid=9: thread exiting with uncaught exception (group=0x2aac0560)E/AndroidRuntime( 2214): *** FATAL EXCEPTION IN SYSTEM PROCESS: android.server.ServerThreadE/AndroidRuntime( 2214): java.lang.RuntimeException: WakeLock under-locked GankE/AndroidRuntime( 2214): at android.os.PowerManager$WakeLock.release(PowerManager.java:307)E/AndroidRuntime( 2214): at android.os.PowerManager$WakeLock.release(PowerManager.java:282)E/AndroidRuntime( 2214): at com.android.internal.policy.impl.GlobalActions$5.onPress(GlobalActions.java:340)E/AndroidRuntime( 2214): at com.android.internal.policy.impl.GlobalActNot all allocated memory blocks were freed. Doing it now.ions.onClick(GlobalActions.java:Freeing list entry #0, gpuaddr=86300000436)E/AndroidRuntime( 2214): Freeing list entry #1, gpuaddr=86301000at com.android.internal.app.AlerFreeing list entry #2, gpuaddr=86311000tController$AlertParams$3.onItemFreeing list entry #3, gpuaddr=86343000Freeing list entry #7, gpuaddr=86354000E/AndroidRuntime( 2214): at anFreeing list entry #630, gpuaddr=86366000droid.widget.AdapterView.performFreeing list entry #683, gpuaddr=86566000ItemClick(AdapterView.java:284)E/AndroidRuntime( 2214): at analarm_release: clear alarm, pending 0droid.widget.ListView.performItealarm_release: clear alarm, pending 0mClick(ListView.java:3513)E/Analarm_release: clear alarm, pending 0droidRuntime( 2214): at android.widget.AbsListView$PerformClick.run(AbsListView.java:1812)E/AndroidRuntime( 2214): at android.os.Handler.handleCallback(Handler.java:587)Erequest_suspend_state: on (0->0) at 103498106628 (1970-01-02 00:01:30.949676750 UTC)/AndroidRuntime( 2214): at android.os.Handler.dispatchMessage(Handler.java:92)E/AndroidRuntime( 2214): at android.os.Looper.loop(Looper.java:130)E/AndroidRuntime( 2214): at com.android.server.ServerThread.run(SystemServer.java:554)I/Process ( 2214): Sending signal. PID: 2214 SIG: 9D/dalvikvm( 2417): GC_CONCUsgtl5000_hw_read: read reg error : Reg 0x0eRRENT freed 417K, 51% free 2837Kinit: untracked pid 2132 exited/5703K, external 716K/1038K, pausgtl5000_write: write reg error : Reg 0x0e = 0x000csed 5ms+3msI/ServiceManager( 2130): service 'SurfaceFlinger' diedI/ServiceManager( 2130): service 'sensorservice' died sleep: PowerManagerService::goToSleepwakeup:这个软件搞不定,除非借助于RTC(alarm)硬件的帮助才行,因为sleep后CPU都不工作了, 软件已经无能为力了 goToSleep估计要root权限,你先试一下 android 如何开发一个阅读器。 【整套18个视频】【高清】Android(安卓)游戏及应用开发 如何开发android 的驱动 网络切换问题 android 改变Camera的preview图像 android 自定义控件实现走马灯效果(急) [求教]Android GridLayout如何平均分配子View宽度 求帮忙链接SQL 数据库到安卓数据库 Android6.0关于ContentProvider的Permission denial android实现类似微信聊天界面,软键盘弹出时 标题不被挤上去 Android如何用程序关闭浏览器 如何调试跟踪stagefright的源代码?
/**
* 唤醒屏幕
*/
public static void wakeup(Context context){
PowerManager mPowerManager = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wakeLock = mPowerManager.newWakeLock(PowerManager.FULL_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP, "Gank");
//唤醒
wakeLock.acquire();
}
/**
* 使屏幕休眠
*/
public static void sleep(Context context){
PowerManager mPowerManager = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wakeLock = mPowerManager.newWakeLock(PowerManager.FULL_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP, "Gank");
//休眠
wakeLock.release();
}
/**
* 判断屏幕的状态
* @return :
*/
public static boolean isScreenOn(Context context){
PowerManager mPowerManager = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
return mPowerManager.isScreenOn();
} /**
* 锁屏
*/
public static void lockKeyguard(Context context){
KeyguardManager mKeyguardManager = (KeyguardManager) context.getSystemService(Context.KEYGUARD_SERVICE);
KeyguardLock mKeyguardLock = mKeyguardManager.newKeyguardLock("");
mKeyguardLock.reenableKeyguard();//锁
}
/**
* 解锁
*/
public static void unLockKeyguard(Context context){
KeyguardManager mKeyguardManager = (KeyguardManager) context.getSystemService(Context.KEYGUARD_SERVICE);
KeyguardLock mKeyguardLock = mKeyguardManager.newKeyguardLock("");
mKeyguardLock.disableKeyguard();
}
W/dalvikvm( 2214): threadid=9: thread exiting with uncaught exception (group=0x2aac0560)
E/AndroidRuntime( 2214): *** FATAL EXCEPTION IN SYSTEM PROCESS: android.server.ServerThread
E/AndroidRuntime( 2214): java.lang.RuntimeException: WakeLock under-locked Gank
E/AndroidRuntime( 2214): at android.os.PowerManager$WakeLock.release(PowerManager.java:307)
E/AndroidRuntime( 2214): at android.os.PowerManager$WakeLock.release(PowerManager.java:282)
E/AndroidRuntime( 2214): at com.android.internal.policy.impl.GlobalActions$5.onPress(GlobalActions.java:340)
E/AndroidRuntime( 2214): at com.android.internal.policy.impl.GlobalActNot all allocated memory blocks were freed. Doing it now.
ions.onClick(GlobalActions.java:Freeing list entry #0, gpuaddr=86300000
436)
E/AndroidRuntime( 2214): Freeing list entry #1, gpuaddr=86301000
at com.android.internal.app.AlerFreeing list entry #2, gpuaddr=86311000
tController$AlertParams$3.onItemFreeing list entry #3, gpuaddr=86343000
Freeing list entry #7, gpuaddr=86354000E/AndroidRuntime( 2214): at anFreeing list entry #630, gpuaddr=86366000
droid.widget.AdapterView.performFreeing list entry #683, gpuaddr=86566000
ItemClick(AdapterView.java:284)
E/AndroidRuntime( 2214): at analarm_release: clear alarm, pending 0
droid.widget.ListView.performItealarm_release: clear alarm, pending 0
mClick(ListView.java:3513)
E/Analarm_release: clear alarm, pending 0
droidRuntime( 2214): at android.widget.AbsListView$PerformClick.run(AbsListView.java:1812)
E/AndroidRuntime( 2214): at android.os.Handler.handleCallback(Handler.java:587)
Erequest_suspend_state: on (0->0) at 103498106628 (1970-01-02 00:01:30.949676750 UTC)
/AndroidRuntime( 2214): at android.os.Handler.dispatchMessage(Handler.java:92)
E/AndroidRuntime( 2214): at android.os.Looper.loop(Looper.java:130)
E/AndroidRuntime( 2214): at com.android.server.ServerThread.run(SystemServer.java:554)
I/Process ( 2214): Sending signal. PID: 2214 SIG: 9
D/dalvikvm( 2417): GC_CONCUsgtl5000_hw_read: read reg error : Reg 0x0e
RRENT freed 417K, 51% free 2837Kinit: untracked pid 2132 exited
/5703K, external 716K/1038K, pausgtl5000_write: write reg error : Reg 0x0e = 0x000c
sed 5ms+3ms
I/ServiceManager( 2130): service 'SurfaceFlinger' died
I/ServiceManager( 2130): service 'sensorservice' died
软件已经无能为力了