3
基本上我已經有了這個小工具,這是應該表現出吐司,一旦它被點擊。Android小工具將不會有一個點擊
public class WidgetActivity extends AppWidgetProvider {
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
for (int i = 0; i < appWidgetIds.length; i++) {
int appWidgetId = appWidgetIds[i];
Intent intent = new Intent(context, WidgetActivity.class);
intent.setAction("ActionOne");
PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, intent, 0);
RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.widget_layout);
views.setOnClickPendingIntent(R.id.LinLayWiget, pendingIntent);
appWidgetManager.updateAppWidget(appWidgetId, views);
}
}
@Override
public void onReceive(Context context, Intent intent) {
Log.e("YYY","YYYY");
Toast.makeText(context, "AAA", 1500).show();
if (intent.getAction().equals("ActionOne")) {
Log.e("X","X");
Toast.makeText(context, "I'm CLICKED!", 1500).show();
}
super.onReceive(context, intent);
}
}
清單:
...
<receiver android:name="WidgetActivity" android:label="FXMaster" android:icon="@drawable/assiconwi">
<meta-data
android:name="android.appwidget.provider"
android:resource="@xml/widgetprovider" />
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE"></action>
</intent-filter>
</receiver>
...
但是一旦控件被點擊時,沒有任何反應。任何想法可能是錯誤的?
謝謝!
你看到它進入的onResume功能?就像調試?如果你在那裏看到不同的行動?附:可能更好地使用「ActionOne」 .equals(intent.getAction()),以避免:-) – Jackie 2012-02-11 17:11:43
可能的空指針此外,我認爲你有「包=‘Fart.Widget’」在你的AndroidManifest.xml吧?通常最好使用...新的RemoteViews(context.getPackageName(),R.layout.widget_layout); – Jackie 2012-02-11 17:18:19
謝謝Jackie的提示!我編輯了代碼,見上面,但它仍然沒有結果。 :( – 2012-02-11 18:36:35