问题描述
我需要从我的android应用程序完全禁用手机上的打ze模式。 我发现以下命令可以在Andriod中禁用打ze模式。
adb -d shell dumpsys deviceidle disable
我做了一个小样,可以从我的Android应用程序中运行上述命令。我遇到异常-权限被拒绝。
package com.example.myapplication
import android.os.Bundle
import android.util.Log
import androidx.appcompat.app.AppCompatActivity
import kotlinx.android.synthetic.main.activity_main.*
import java.io.BufferedReader
import java.io.InputStreamReader
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
btn_test_shell.setonClickListener()
{
val adbShellCommand = "dumpsys deviceidle disable" //"pwd" //
val pb = ProcessBuilder(adbShellCommand)
val p: Process
try {
p = pb.start()
val reader = BufferedReader(InputStreamReader(p.inputStream))
//Set the output to a TextView
txt_shell_output.text = reader.read().toString()
p.waitFor()
p.destroy()
} catch (e: Exception) {
e.printstacktrace()
Log.e("Execute Shell",e.printstacktrace().toString())
}
}
}
}
当我使用Runtime.getRuntime()。exec(adbShellCommand)运行相同的代码时,在TextView中得到80的输出,不确定是什么意思。在这种情况下,当然也不例外。
几个问题:
-
是否允许在Android应用程序中运行上述命令?
-
通过以下命令将您的应用列入白名单,是否具有与在Android中设置“忽略电池优化”相同的效果?
adb -d shell dumpsys deviceidle whitelist + <pkg-name>
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)