ISIM から IMPI を読み取ろうとしています (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() を呼び出すと、null が返されます。これは、適切なインスタンスを使用するのではなく、IsimUiccRecords の新しいインスタンスが作成されたためだと思います (これを取得する方法がわかりません)。
IsimUiccRecords.javaのソースへのリンクは次のとおりです。
リフレクションを使用して IMPI を取得することはまったく可能ですか?
内部 API を使用すると、さまざまなバージョンの Android でコードが壊れる可能性があることは理解していますが、私にとっては問題ではありません。