Чтение 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, но для меня это не проблема.

0 ответов

Другие вопросы по тегам