我想读出启动器屏幕上的快捷方式和小部件的位置和名称。由于每个启动器都不同,我暂时将重点关注 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/