我已经在Android Oreo上安装了Xposed和GravityBox模块。 使用Nova Launcher,我为GravityBox创建了一个动作快捷方式,以使设备进入睡眠状态。 我在Nova Launcher的快捷方式数据库中找到了Intent,代码是:
#Intent;action=gravitybox.intent.action.LAUNCH_ACTION;launchFlags=0x10008000;component=com.ceco.oreo.gravitybox/.shortcuts.LaunchActivity;S.action=gravitybox.intent.action.SLEEP;S.actionType=broadcast;end
现在,我正在Android Studio中编写一个小型应用程序,我想使用同一Intent,以便在我按应用程序中的按钮时使用GravityBox快速关闭屏幕电源。我的按钮方法如下:
public void mPowerOFF(){
try {
Intent screenOffIntent = new Intent();
screenOffIntent.setAction("gravitybox.intent.action.LAUNCH_ACTION");
screenOffIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
screenOffIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
screenOffIntent.setComponent(new ComponentName("com.ceco.oreo.gravitybox", "com.ceco.marshmallow.gravitybox.shortcuts.LaunchActivity"));
screenOffIntent.putExtra("I believe others stuff goes here but I don't know how");
我在一个网站上发现,唯一的launchflags=0x10008000
将拆分为
screenOffIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
screenOffIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
完成工作我缺少什么?