Чтение IMPI из внутренней Android телефонии API
Я пытаюсь прочитать IMPI из ISIM(требуется для начальной загрузки GBA). Я попробовал следующий фрагмент кода:
Class<?> class1 = Class
.forName("com.android.internal.telephony.ims.IsimUiccRecords");
Object object = class1.newInstance();
Method method1 = class1.getDeclaredMethod("getIsimImpi");
System.out.println(method1.invoke(object, null));
Но вызов getIsimImpi(), таким образом, возвращает ноль. Я полагаю, это связано с созданием нового экземпляра IsimUiccRecords вместо использования соответствующего экземпляра (который я не уверен в том, как его получить)
Вот ссылка на источник IsimUiccRecords.java
Можно ли вообще получить IMPI, используя отражение?
Я понимаю, что использование внутреннего API может нарушить код на разных версиях Android, но для меня это не проблема.