0
点赞
收藏
分享

微信扫一扫

Android 11.0 接口方式实现 休眠和唤醒

△需要权限

  • 系统权限:​​android:sharedUserId="android.uid.system"​
  • 其他权限:​​<uses-permission android:name="android.permission.WAKE_LOCK"/>​
  • 其他权限:​​<uses-permission android:name="android.permission.DEVICE_POWER"/>​

frameworks/base/…/MdmPolicy.java

写好接口供上层调用

public void sleep(){
SleepAndWakeLockControl.sleep(mContext);
}

public void wake(){
SleepAndWakeLockControl.wake(mContext);
}

frameworks/base/…/SleepAndWakeLockControl.java

具体实现

class SleepAndWakeLockControl {
public static void sleep(Context context) {
IPowerManager mPowerManager = IPowerManager.Stub.asInterface(ServiceManager.getService("power"));
try{
mPowerManager.goToSleep(SystemClock.uptimeMillis()+1,0,0);
}catch (Exception e){
Log.d("SleepAndWakeLockControl","休眠失败");
}
}

public static void wake(Context context){
IPowerManager mPowerManager = IPowerManager.Stub.asInterface(ServiceManager.getService("power"));
try {
mPowerManager.wakeUp(SystemClock.uptimeMillis()+1,0,"wakeUp",context.getOpPackageName());
}catch (Exception e){
Log.d("SleepAndWakeLockControl","唤醒失败");
}
}
}


举报

相关推荐

0 条评论