嗨,所有Android devlopers。 请帮助我解决这个问题:
1)我如何在我的Android应用程序中使用像telephony
,android.telephony.CallManager
这样的非公共类?
2)如何在活动类中导入此电话包并允许其访问其功能?
答案 0 :(得分:3)
你不能也不应该。在Android升级期间,这些内部类/ API可以随时更改而不会发出警告。不能保证它们在不同供应商中以完全相同的方式实现。
此类更改可能会导致应用程序中断。
您应该只使用android.jar
中包含的公共类答案 1 :(得分:1)
反射?
ClassLoader classLoader = TestActivity.class.getClassLoader();
final ClassLoader classLoader = this.getClass().getClassLoader();
try {
final Class<?> classCallManager =
classLoader.loadClass("com.android.internal.telephony.CallManager");
} catch (final ClassNotFoundException e) {
Log.e("TestActivity", e);
}
并添加
READ_PHONE_STATE
到您的Manifest.xml