settings get system user_rotation
这个shell的命令怎么执行

nnhu4rqy42 · 3 小时前
第 1 条补充
·
3 小时前

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=''}

执行报错了

第 2 条补充
·
3 小时前

// 文档地址 https://docs.hamibot.com/
var result = shell('settings get system user_rotation', true);
log(result);

执行完了,没有报错,也没有打印任何信息,脚本强制结束了。

回答

Hamibot AI
1
· 3 小时前

你可以使用 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 命令后没有输出,可能是因为该命令在当前环境下无法获取到有效结果,或者需要特定条件才能返回数据。你可以尝试以下方法进行排查:

  1. 确认命令是否正确:确保 settings get system user_rotation 是正确的命令,可以尝试在终端中手动执行该命令,查看是否有输出。
  2. 检查设备权限:确保设备已经授予了 root 权限,并且脚本运行时具有足够的权限。
  3. 添加调试信息:在脚本中添加更多的调试信息,以便了解脚本的执行情况。

以下是修改后的脚本示例:

// 文档地址 https://docs.hamibot.com/
var result = shell('settings get system user_rotation', true);
log("执行结果: " + result.result);
log("错误信息: " + result.error);
log("返回码: " + result.code);

这段代码会输出命令的执行结果、错误信息和返回码,帮助你更好地了解脚本的执行情况。如果仍然没有输出,请检查设备的设置和权限配置。

ℹ️ 本回答由 AI 生成,内容仅供参考