android studio里注册中action的name是怎么对应的
阿神
阿神 2017-04-17 15:49:24
0
2
580

<receiver android:name=".MusicWidget">

        <intent-filter>
            <action android:name="android.appwidget.action.APPWIDGET_UPDATE"/>
        </intent-filter>
        <meta-data android:name="android.appwidget.provider"
                   android:resource="@layout/widget_setting">

        </meta-data>
        

android:name 后面的是怎么确定的?怎么跟widget对应起来的?

阿神
阿神

闭关修行中......

全部回覆(2)
迷茫

action有兩種,一種是系統級action,另一種是應用自訂action。對於widget來說,要實現widget更新,就必須得過濾監聽android.appwidget.action.APPWIDGET_UPDATE 這個action,這是由系統級的action,由AppWidgetManger定義和管理,系統Framework層AppWidgetService負責widget的廣播發送支持,最終由應用層AppWidgetProvider(派生自BroadcastReceiver)接收這個action並進行處理。

黄舟

這個name需要指定一個Receiver的子類別或是AppWidgetProvider子類別, 當這個meta-data裡面的指定的AppWidgetProviderInfo對應的widget被使用者加入主畫面或刪除, 或更新, 等操作, 這個name指定的Receiver都會收到對應的廣播. 廣播的Intent裡麵包含有對應的AppWidget的id, 這個id就可以透過AppWidgetManager找到對應的AppWidget

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板