私はAndroid開発に不慣れです。アラームマネージャーを使用して、30分ごとに更新されるウィジェットをコーディングすることができました。この部分は正しく機能しています。
ウィジェットをクリックするたびに手動でウィジェットを更新できるようにしたい(つまり、繰り返しアラームまたはクリックのいずれかを介して、ブロードキャストを介して同じOnReceive()をトリガーする)。
最後に2行を追加するだけの簡単な方法であると期待していましたが(以下を参照)、ウィジェットをクリックしてもonClickが機能しません。私がやろうとしていることを達成するための最良の方法は何ですか?
@Override
public void onEnabled(Context context) {
super.onEnabled(context);
AlarmManager am=(AlarmManager)context.getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent(context, AlarmManagerBroadcastReceiver.class);
PendingIntent pi = PendingIntent.getBroadcast(context, 0, intent, 0);
//Update after 30 minutes
am.setInexactRepeating(AlarmManager.RTC, System.currentTimeMillis()+ 300, 18000000 , pi);
//Update manually by Clicking widget (this part not working)
RemoteViews remoteViews = new RemoteViews(context.getPackageName(),
R.layout.my_widget_layout);
remoteViews.setOnClickPendingIntent(R.layout.my_widget_layout, pi);