- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我有非常简单的代码如下:
@Override
public void onClick(View v)
{
Log.i("MyApp", "Started");
try
{
Process processStart = Runtime.getRuntime().exec("su");
}
catch (IOException e1)
{
e1.printStackTrace();
}
String myStringArray[]= {"getevent","/dev/input/event0"};
String line;
try
{
Process process = Runtime.getRuntime().exec(myStringArray);
InputStreamReader inputstreamreader = new InputStreamReader(process.getInputStream());
BufferedReader bufferedReader = new BufferedReader(inputstreamreader);
bufferedReader.read();
while ((line = bufferedReader.readLine()) != null)
{
Log.i("MyApp", line);
}
InputStreamReader errstreamreader = new InputStreamReader(process.getErrorStream());
BufferedReader errReader = new BufferedReader(errstreamreader);
errReader.read();
while ((line = errReader.readLine()) != null)
{
Log.i("MyApp", line);
}
} catch(java.io.IOException e){
}
Log.i("MyApp", "Finished");
}
});
但是我得到这个错误:
could not open /dev/input/event0, permission denied
我被要求在手机上授予 root 权限,但在此之前它在 logcat 上有错误。
我也尝试过 processStart.waitFor();
但是它把应用程序卡在那里,根本没有前进。我试过到处寻找原因,但无法让它发挥作用。
我也尝试过使用 ProcessBuilder,但是当我使用它时,getevent 根本不返回任何内容......
最佳答案
我认为您误解了“su”的用法。
Process processStart = Runtime.getRuntime().exec("su");
上面的代码将创建一个新进程并执行'su'命令,这只会使子进程成为'root'。
你的调用过程仍然是一个正常的过程,所以你不能做'getevent'。相反,您应该在“有根子进程”中运行此 super 命令,例如:
mProcess = new ProcessBuilder()
.command("/system/xbin/su")
.redirectErrorStream(true).start();
OutputStream out = mProcess.getOutputStream();
String cmd = "getevent /dev/input/event0 \n";
Log.d(TAG, "Native command = " + cmd);
out.write(cmd.getBytes());
关于android - 使用 getevent 在 rooted android 手机上拒绝权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18570962/
我正在使用 Windows Media Foundation API 用 C++ 编写应用程序。 我创建一个 IMFMediaSource,创建一个 PresentationDescriptor,选择
我在 eventActions.js 中导出了 getEvents 定义。我不明白为什么我会收到此错误。我导入了该函数并且文件路径是正确的。 组件 import { getEvents } from
我正在为我的自定义 ListView 制作一个适配器类。但是,当尝试从我的 Events 类中检索时,它显示“无法解析方法 'getEvent()'” 我该如何解决此问题?它围绕着我试图从中检索的 3
我正在尝试从数据库中获取事件,但无法让它工作。这些事件没有显示在我的日历和网络控制台中,我得到: 无法加载资源:服务器响应状态为 500(内部服务器错误) 抛出异常: 参数字典包含“ForecastC
我试图找出 adb shell 中 getevent 命令的输出格式。 例如,输出如下所示: adb shell getevent -t | grep 事件 1 -t 标志提供时间戳,grep 用于将
我正在查看这里的信息:Hackage 我希望程序中发生不同的事情,具体取决于按下的箭头键。使用 NCurses 模块,我可以使用 getEvent 函数注册事件。但我无法让 if 语句对存储的事件起作
我有一个 Android 电视盒,我想通过 ADB 命令控制它。特别是,我想在它上面发送“点击”事件。 到目前为止,我一直在通过“adb shell input tap x,y”来做到这一点,它工作得
我在使用作为 prism 框架一部分的事件聚合器订阅事件时遇到问题。 如果我使用诸如之类的东西 eventAggregator.GetEvent().Subscribe(MyMethod) 然后一切正
本文整理了Java中net.ymate.platform.core.YMP.getEvents()方法的一些代码示例,展示了YMP.getEvents()的具体用法。这些代码示例主要来源于Github
我在使用 geo.getEvents 方法对 last.fm API 运行测试查询时遇到问题。奇怪的是,它已经工作了一段时间,然后突然停止了。我想知道该方法是否已被禁用,还是我做错了什么? 这是由 a
在尝试构建事件聚合器以具有我的 object 的属性时转自MainViewModel至SectionViewModel我已经尝试关注多篇文章( 1 , 2 , 3 和 4 )关于它是如何工作的,但我似
Calendar.getEvents 仅适用于 PDT 时区,无法检索我的 GMT+02.00(欧洲/华沙,CEST)时区的事件。 我是 JS 和 GAS 编程的新手,但它看起来像一些问题,也许我的问
这有什么区别: RemoteWebDriver driver = new FirefoxDriver(); Object result = driver.executeScript("somefunc
我正在使用 Android Oreo 和 Mac OS Mojave。 我试图在应用程序中获取输入文本,然后我遇到了“cdfinger_input”,它看起来与我在手机上输入的文本有关。我不知道我是否
我正在尝试使用 JKeyCharacterMap.getEvents来自 Delphi 的函数从 Char 中获取 KeyCode。 所以我正在使用这段代码。 uses FMX.Platform.
我有非常简单的代码如下: @Override public void onClick(View v) { Log.i("MyApp", "Started"); try { Proc
我已经下载了一段代码,展示了如何使用 Python 2.7.3 解释器在 Windows 7 上使用 Windows Speech API (SAPI 5.1),并在我的系统上安装了 PyWin32
对于我的项目,我需要做以下事情, 从 adb getevent 命令获取设备触摸事件。 同时我需要找到一些东西来收集应用程序 Activity 调用的信息。 我的目标是根据每次触摸信息找出特定应用中的
我正在使用 Outlook api v2.0 rest api 对日历和事件执行 crud 操作,并且已经开始遇到速率限制问题。 例如,这个正在击中 calendarview endpoint : G
我正在使用以下 javascript 在 Selenium 中运行 getEval: document.getElementById("j_id0:j_id3:mainBlock:j_id40").c
我是一名优秀的程序员,十分优秀!