我想在发射器的屏幕上读出快捷方式和小部件的位置和名称。由于每个发射器都不同,我现在将专注于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但是要读出变量的内容,我需要对启动器活动对象的引用。很明显,这个对象不一定存在,但我可以定期检查,一旦它确实,我会获取数据。
那么如何获得对启动器活动对象的引用?或者你能想到一种更好的方法来获取所需的数据吗?
答案 0 :(得分:3)
我不认为这会通过反思发挥作用。启动器是与您的应用程序分开的应用程序,在其自己的VM中的不同用户下以不同的进程运行。您无法获得对启动器活动对象的引用。这是设计的。如果任何应用程序可以读取任何其他应用程序变量的内容,请考虑安全隐患。