Ich verwende Reflektionsmethode für get smsManager Objekt der SIM-Karte.Wie bekomme ich das SmsManager-Objekt der ausgewählten SIM-Karte mit 'Java Reflection'?
Es funktioniert perfekt Standard smsManager Objekt von Standard SIM unter Verwendung von „getDefault“ Methode zu bekommen,
getContext().getClassLoader().loadClass("android.telephony.SmsManager").getMethod("getDefault", new Class[0]).invoke(null, new Object[0]);
Aber ich Nachrichten von ausgewählten SIM-Karte (Option SIM-Karte gegeben senden möchten auszuwählen in meiner Bewerbung).
ich weiß, gibt es ein Verfahren, in SmsManager Klasse smsManager Objekt der ausgewählten SIM-Karte SIM subscriptionId 'getSmsManagerForSubscriptionId (int subscriptionId)' hinzugefügt in API-Ebene 22 (Lollipop) zu erhalten.
Es funktioniert perfekt unter Code,
SmsManager.getSmsManagerForSubscriptionId (subscriptionId);
Aber ich möchte nach Reflexion Methode verwenden. Also, wenn ich durch die Reflexion dieser Methode bin mit,
getContext().getClassLoader().loadClass("android.telephony.SmsManager").getMethod("getSmsManagerForSubscriptionId", Integer.class).invoke(null, subID);
Es Ausnahme auslöst: 'java.lang.NoSuchMethodException: getSmsManagerForSubscriptionId [Klasse java.lang.Integer]
Kann mir jemand sagen, wo ich falsch mache?
Danke.
* Kann mir jemand sagen, wo ich falsch mache * Sie verwenden Methode, die nicht – Selvin
existiert ich diese Methode https verwenden möchten: // Entwickler. android.com/reference/android/telephony/SmsManager.html#getSmsManagerForSubscriptionId%28int%29 –
dann verwenden Sie es ... warum brauchen Sie Reflexion? Wenn es keine Methode auf dem Gerät gibt, wird die Reflektion nicht automatisch generiert. – Selvin