java - 如何获取对股票启动器 Activity 对象的引用?

标签 java android reflection launcher

我想读出启动器屏幕上的快捷方式和小部件的位置和名称。由于每个启动器都不同,我暂时将重点关注 Android 的原生启动器。我还没有找到一个 API 来做到这一点,所以我正在尝试使用 Java 的 Reflection API。到目前为止,我已经能够获取该类并读出保存桌面上名为 mDesktopItems 的项目的变量的类型:http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android-apps/2.2.2_r1/com/android/launcher2/Launcher.java#201但要读出变量的内容,我需要对启动器 Activity 对象的引用。很明显,这个对象不一定存在,但我可以定期检查,一旦存在,我就会获取数据。

那么如何获取启动器 Activity 对象的引用呢?或者您能想到更好的方法来获取所需的数据吗?

最佳答案

我认为这不会通过反射起作用。启动器是一个独立于您的应用程序,在其自己的虚拟机中的不同用户下的不同进程中运行。您将无法获得对启动器 Activity 对象的引用。这是设计使然。如果任何应用程序可以读取任何其他应用程序变量的内容,请考虑安全隐患。

关于java - 如何获取对股票启动器 Activity 对象的引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10642636/

相关文章:

java - 使用父类(super class)作为参数的类反射查找方法

java - 如何仅使用控制台运行 java 应用程序?

java - 如何打开 .class 文件?

java - Android Studio 无法识别输入字段 "Field is never used"

java - 比较 Hashmap 和 Edittext 的 double 值时遇到问题

java - addView 运行时异常

c# - 检测对象的类型是否为 .NET Framework 定义的类型

c# - Reflection.Typeinfo/Reflection.Type 没有 GetProperties/GetFields 方法

java - 从一个 Realm 异步复制到另一个 Realm

java - 如何从java JUnit中的.properties文件获取文件名?