2012-05-02 95 views
1

我有一個服務調用了將自定義文本發送到我的AppWidgetProvider的意圖。爲此,我使用onRecieve方法並檢查正確的操作。通過意向將數據從服務傳遞到小部件

所以我有兩個問題,第一個是,這是正確的方法,第二個爲什麼我的onReceive方法永遠不會被調用?

我加入清單此以下部分

<receiver android:label="KreativBarometer Widget" 
    android:name=".widget.MyWidgetProvider" > 
    <intent-filter > 
     <action android:name="android.appwidget.action.APPWIDGET_UPDATE" /> 
    </intent-filter> 
    <meta-data 
     android:name="android.appwidget.provider" 
     android:resource="@xml/widget_info" /> 
</receiver> 

我的AppWidgetProvider使用下面的onReceive方法

public void onReceive(Context context, Intent intent) { 
    if(intent.getAction().equals("APPWIDGET_UPDATE")){ 
     String text = intent.getStringExtra("newItemArrived"); 
     RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.widget_layout); 
     views.setTextViewText(R.id.TextView01, text); 
    } 
    super.onReceive(context, intent); 
} 

和測試中,我用這個意圖

Intent intent = new Intent("APPWIDGET_UPDATE"); 
intent.putExtra("newItemArrived", "Neue Frage erschienen"); 
sendBroadcast(intent); 

回答

相關問題