我正在开发一个Android应用程序,我想在android系统应用程序(手机应用程序)中调用一个方法来访问某些功能。我查看了一些示例,以了解在系统应用程序中如何进行方法调用。我们需要导入包,然后创建该类的实例以访问特定的方法。
但是,当我使用相同的方式时,它会说"包裹无法解决"。
我的问题是我们可以访问android系统应用程序中的方法吗?如果是这样,最好的方法是什么?
答案 0 :(得分:0)
如果您尝试在Android库或系统应用程序中调用私有API,则唯一的方法是使用反射。
http://code.tutsplus.com/tutorials/learn-java-for-android-development-reflection-basics--mobile-3203
String sClassName = "android.content.Intent";
try {
Class classToInvestigate = Class.forName(sClassName);
String strNewFieldName = "EXTRA_CHANGED_PACKAGE_LIST";
Field newIn22 = classToInvestigate.getField(strNewFieldName);
} catch (ClassNotFoundException e) {
// Class not found
} catch (NoSuchFieldException e) {
// Field does not exist, likely we are on Android 2.1 or older
// provide alternative functionality to support older devices
} catch (SecurityException e) {
// Access denied!
} catch (Exception e) {
// Unknown exception
}