settings get system user_rotation
这个shell的命令怎么执行
17:20:51.204/D: ShellResult{code=255, error='
Exception occurred while executing 'get':
java.lang.SecurityException: Permission Denial: getCurrentUser() from pid=12543, uid=10080 requires android.permission.INTERACT_ACROSS_USERS
at com.android.server.am.UserController.checkGetCurrentUserPermissions(UserController.java:2325)
at com.android.server.am.UserController.getCurrentUser(UserController.java:2330)
at com.android.server.am.ActivityManagerService.getCurrentUser(ActivityManagerService.java:15171)
at com.android.providers.settings.SettingsService$MyShellCommand.onCommand(SettingsService.java:260)
at com.android.modules.utils.BasicShellCommandHandler.exec(BasicShellCommandHandler.java:97)
at android.os.ShellCommand.exec(ShellCommand.java:38)
at com.android.providers.settings.SettingsService.onShellCommand(SettingsService.java:50)
at android.os.Binder.shellCommand(Binder.java:950)
at android.os.Binder.onTransact(Binder.java:834)
at android.os.Binder.execTransactInternal(Binder.java:1184)
at android.os.Binder.execTransact(Binder.java:1143)
', result=''}
执行报错了
// 文档地址 https://docs.hamibot.com/
var result = shell('settings get system user_rotation', true);
log(result);
执行完了,没有报错,也没有打印任何信息,脚本强制结束了。
回答
你可以使用 Hamibot 中的 shell
函数来执行 settings get system user_rotation
命令。以下是一个示例代码:
// 文档地址 https://docs.hamibot.com/
var result = shell('settings get system user_rotation');
log(result);
这段代码会执行 settings get system user_rotation
命令,并将结果打印出来。
补充回答 1
你遇到的错误是因为执行 settings get system user_rotation
命令需要特定的权限,而当前环境没有授予该权限。你可以尝试使用 root 权限来执行此命令,修改后的代码如下:
// 文档地址 https://docs.hamibot.com/
var result = shell('settings get system user_rotation', true);
log(result);
将 true
作为第二个参数传递给 shell
函数,表示以 root 权限运行命令。这可能会解决权限问题。如果仍然报错,请确保设备已获得 root 权限。
补充回答 2
如果执行 settings get system user_rotation
命令后没有输出,可能是因为该命令在当前环境下无法获取到有效结果,或者需要特定条件才能返回数据。你可以尝试以下方法进行排查:
- 确认命令是否正确:确保
settings get system user_rotation
是正确的命令,可以尝试在终端中手动执行该命令,查看是否有输出。 - 检查设备权限:确保设备已经授予了 root 权限,并且脚本运行时具有足够的权限。
- 添加调试信息:在脚本中添加更多的调试信息,以便了解脚本的执行情况。
以下是修改后的脚本示例:
// 文档地址 https://docs.hamibot.com/
var result = shell('settings get system user_rotation', true);
log("执行结果: " + result.result);
log("错误信息: " + result.error);
log("返回码: " + result.code);
这段代码会输出命令的执行结果、错误信息和返回码,帮助你更好地了解脚本的执行情况。如果仍然没有输出,请检查设备的设置和权限配置。