使用android API级别4的方法

时间:2013-05-27 07:41:56

标签: android api

我尝试使用一种特定的方法,据我所知,仅在API级别4中提供。 对于这篇文章:Android API < 8 where did they go?,所有设备至少运行Android 2.1,与我的观察结果一致,我已将我的应用中的最小/最大/目标api级别设置为4并使用api级别4编译我的应用程序,但是设备以8级运行它。 有没有什么方法可以访问旧api上可用的方法?

非常感谢你的帮助。 汤姆

1 个答案:

答案 0 :(得分:1)

使用private方法总是有风险的...... 至于你的问题,我看了一下源代码,看起来这个方法非常简单,你可以直接将它添加到你的代码中:

private void sendRawPdu(byte[] smsc, byte[] pdu, PendingIntent sentIntent,
        PendingIntent deliveryIntent) {
    try {
        ISms iccISms = ISms.Stub.asInterface(ServiceManager.getService("isms"));
        if (iccISms != null) {
            iccISms.sendRawPdu(smsc, pdu, sentIntent, deliveryIntent);
        }
    } catch (RemoteException ex) {
        // ignore it
    }
}

ISms.sendRawPdu()被声明为public,所以我希望实现仍然存在。

http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/1.6_r2/android/telephony/SmsManager.java#SmsManager.sendRawPdu%28byte%5B%5D%2Cbyte%5B%5D%2Candroid.app.PendingIntent%2Candroid.app.PendingIntent%29