android 广播唤醒应用,Android通过广播实现灭屏和唤醒
1、要實現滅屏和喚醒,需要在Manifest文件添加如下權限:
2、以下是封裝的一個工具類,實現屏幕喚醒和熄滅
package testWakeAndLock;
import android.content.Context;
import android.os.PowerManager;
import android.os.SystemClock;
import com.example.testshellcmd.SharedApplication;
public class WakeAndLock {
Context context;
PowerManager pm;
PowerManager.WakeLock wakeLock;
public WakeAndLock() {
context = SharedApplication.context;
pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
wakeLock = pm.newWakeLock(PowerManager.ACQUIRE_CAUSES_WAKEUP
| PowerManager.SCREEN_DIM_WAKE_LOCK, "WakeAndLock");
}
/**
* 喚醒屏幕
*/
public void screenOn() {
wakeLock.acquire();
android.util.Log.i("cxq", "screenOn");
}
/**
* 熄滅屏幕
*/
public void screenOff() {
pm.goToSleep(SystemClock.uptimeMillis());
android.util.Log.i("cxq", "screenOff");
}
}
3、自定義廣播,用于控制屏幕的喚醒和熄滅,這樣做的好處是可以在其他APP中也實現屏幕的控制
package testWakeAndLock;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
public class ScreenControlBroadcast extends BroadcastReceiver {
private String op = "on";
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
android.util.Log.i("cxq", "ScreenControlBroadcast");
op = intent.getStringExtra("screen");
WakeAndLock wakeAndLock = new WakeAndLock();
if (op.equals("off")) {
wakeAndLock.screenOff();
} else {
wakeAndLock.screenOn();
}
}
}
4、在Manifest文件中注冊廣播
5、怎么在其他APP中調用?
其實有很多中方式,但是本文介紹一種方便快捷的方法,直接通過adb命令調用 格式如下:
亮屏
am broadcast -a testWakeAndLock.ScreenControlBroadcast --es screen on
滅屏
am broadcast -a testWakeAndLock.ScreenControlBroadcast --es screen off
總結
以上是生活随笔為你收集整理的android 广播唤醒应用,Android通过广播实现灭屏和唤醒的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spring Boot实践教程(二):S
- 下一篇: Android 自定义WebView弹窗