我尝试使用据我所知仅在 API 级别 4 中可用的特定方法。根据这篇文章:Android API < 8 他们去哪儿了?,所有设备至少运行符合我观察的 Android 2.1,我已将我的应用程序中的 min/max/target api 级别设置为 4 并使用 api 级别 4 来编译我的应用程序,但设备以 8 级运行它。有吗我可以通过什么方式访问仅在旧 api 上可用的方法?
非常感谢您的帮助。汤姆
我尝试使用据我所知仅在 API 级别 4 中可用的特定方法。根据这篇文章:Android API < 8 他们去哪儿了?,所有设备至少运行符合我观察的 Android 2.1,我已将我的应用程序中的 min/max/target api 级别设置为 4 并使用 api 级别 4 来编译我的应用程序,但设备以 8 级运行它。有吗我可以通过什么方式访问仅在旧 api 上可用的方法?
非常感谢您的帮助。汤姆
使用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
,所以我希望实现仍然存在。