从哪个SDK级别支持android.intent.action.SIM_STATE_CHANGED广播意图?

时间:2012-06-02 09:50:46

标签: android android-intent broadcastreceiver

我在市场上有一个应用程序(SIM锁定通知程序)依赖广播接收器,它在收到* android.intent.action.SIM_STATE_CHANGED *的广播意图时作出反应。我开发了最新版本的应用程序,4.0 .3(即SDK级别15)现在我想将其兼容性扩展到较低级别(为不可用的事情提供运行时检查,如操作栏或偏好片段)...问题是我想了解是否* SIM_STATE_CHANGED *事件也是在较旧的平台上生成的。这个意图没有记录,甚至在SDK中的* platforms / android-15 / data / broadcast_actions.txt *中都找不到。我应该深入了解来源了解它的实现位置以及哪个SDK级别?这是供应商特定的事件吗?我有一个HTC One X可以使用它。

1 个答案:

答案 0 :(得分:0)

我不确定你的第一个问题。但我可以帮助你回答第二个问题。

  

现在我想将其兼容性扩展到更低级别   (为不可用的事情提供运行时检查,例如操作栏或   偏好片段)

在这种情况下,反思会帮助你。 使用反射,您可以查询类以获取可用的方法,构造函数等。

假设您要在应用程序中使用PopupMenu。可能是您仍在应用程序的情况 想要在4.0之前的设备上运行。所以要使用反射

以下代码段和Google搜索位将帮助您解决问题。

String sClassName = "android.widget.PopupMenu";  
    try {  
        Class classToInvestigate = Class.forName(sClassName);   
        Yes!!! Class is aviliable now do whatever you want to do with PopupMenu.
        // Dynamically do stuff with this class  
        // List constructors, fields, methods, etc.  

    } catch (ClassNotFoundException e) {  
        // Class not found!  
        it means application is running on pre 4.0 version device.
    } catch (Exception e) {  
        // Unknown exception  
    }