Android – 支持1.6,并支持1.5中不推荐使用的代码?

Android – 支持1.6,并支持1.5中不推荐使用的代码?,第1张

概述我正在尝试构建一个使用SmsMessage类的应用程序,但有两个版本,具体取决于设备的API级别: android.telephony.gsm.SmsMessage(不推荐使用1.6及以上版本) android.telephony.SmsMessage(1.6及以上的新类) 我想目标1.5,然后让更新的类(android.telephony.SmsMessage)在1.6或更高的设备上运行.我该怎 我正在尝试构建一个使用SmsMessage类的应用程序,但有两个版本,具体取决于设备的API级别:

android.telephony.gsm.SmsMessage(不推荐使用1.6及以上版本)

androID.telephony.SmsMessage(1.6及以上的新类)

我想目标1.5,然后让更新的类(androID.telephony.SmsMessage)在1.6或更高的设备上运行.我该怎么做呢?

我已经厌倦了这个:http://devtcg.blogspot.com/2009/12/gracefully-supporting-multiple-android.html但我无法让它工作(作者没有提到他/她如何处理不同的进口,确切的API级别设置等)

谢谢.

import java.util.Date;import com.apps.myapp.UtilitIEs;import androID.content.Context;import androID.content.Intent;import androID.os.Bundle;import androID.telephony.gsm.SmsMessage;//*NOTE* depreciated in v1.6+public class OfflinesMSReceiver extends SMSReceiver{    @OverrIDe    public voID onReceive(Context context,Intent intent)    {        System.out.println("SMS_RECEIVED");        System.out.println(UtilitIEs.getNow());        //---get the SMS message passed in---        Bundle bundle = intent.getExtras();                SmsMessage[] msgs = null;        Date date;         long timeStamp;        String time;        String str = "";                    if (bundle != null)        {            //---retrIEve the SMS message received---            Object[] pdus = (Object[]) bundle.get("pdus");            msgs = new SmsMessage[pdus.length];                        for (int i=0; i<msgs.length; i++){                msgs[i] = SmsMessage.createFromPdu((byte[])pdus[i]);                timeStamp = msgs[i].getTimestampMillis();                date = new Date(timeStamp);                time = this.getTime(date.getHours(),date.getMinutes(),date.getSeconds());                str += "SMS from " + msgs[i].getoriginatingAddress();                                     str += " :";                str += msgs[i].getMessageBody().toString();                str += "\n";                str += "TIME: "+time+"\t"+this.getNowDate();            }            System.out.println(str);        }    }}
解决方法 您将需要以androID-4或更高版本为目标,否则较新的类将不存在.

关于加载正确的版本,您可以使用条件类加载,在this sample project中为联系人内容提供商的两个版本演示.此外,this article是谷歌在这个问题上所说的话.

总结

以上是内存溢出为你收集整理的Android – 支持1.6,并支持1.5中不推荐使用的代码?全部内容,希望文章能够帮你解决Android – 支持1.6,并支持1.5中不推荐使用的代码?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1124069.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-30
下一篇2022-05-30

发表评论

登录后才能评论

评论列表(0条)

    保存