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機能に入ると思いますか?デバッグのように?そこにあれば、別の行動が見えますか? P.S.おそらくより良い – Jackie
また、私はあなたが右の「パッケージ= 『Fart.Widget』」あなたのAndroidManifest.xml内を持っていることを前提とし:-)可能性はnullポインタを避けるために、「ActionOne」.equals(intent.getActionを())を使用するには?通常は、新しいRemoteView(context.getPackageName()、R.layout.widget_layout)を使用する方が良いでしょう。 – Jackie
チップジャッキーありがとう!上記のコードを編集しましたが、結果は得られません。 :( –