我创建的应用仅供个人使用,有一段时间我一直试图找出如何连接到第三方应用的数据库没有共享内容用户ID。 注意:我有root,所以也欢迎所有root选项!
我一直在用这个:
protected String RefreshMessages() {
try {
String line;
String result = "";
Process process = Runtime.getRuntime().exec("su");
OutputStream stdin = process.getOutputStream();
InputStream stdout = process.getInputStream();
stdin.write("su -c 'sqlite3 \"/data/data/<app>/databases/database.db\" \"" + REFRESH_QUERY + "\"'\n".getBytes());
stdin.write("exit\n".getBytes());
stdin.flush();
stdin.close();
BufferedReader br = new BufferedReader(new InputStreamReader(stdout));
while((line = br.readLine()) != null){
result = result + line;
}
Log.d("[Output]", result);
br.close();
process.waitFor();
process.destroy();
return result;
} catch (Exception ex) {
Log.d("ERR-RFRSH-MSG", ex.toString());
return "0";
}
}
并尽快在服务中发送垃圾邮件以获取更新,但严重的是......必须有更好的选择...尤其是作为root用户。允许我正确连接并从数据库中获取实时信息的东西。几个月来我一直是谷歌,这是我能找到的最好的。
我还发现了将数据库复制到应用程序域内的TEMP文件夹然后阅读内容的内容,但我需要快速阅读信息。不断复制整个数据库太慢了。
请告诉我我有更好的选择,Android向导!