public class VWid extends AppWidgetProvider {
public static String WIDGET_UPDATE = "WIDGET_UPDATE";
@Override
public void onReceive(Context context, Intent intent) {
super.onReceive(context, intent);
if (WIDGET_UPDATE.equals(intent.getAction())) {
Toast.makeText(context, "onReceiver()", Toast.LENGTH_LONG).show();
}
}
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
final int N = appWidgetIds.length;
// Perform this loop procedure for each App Widget that belongs to this
// provider
for (int i = 0; i < N; i++) {
int appWidgetId = appWidgetIds[i];
int k, p;
SimpleDateFormat dateFormat = new SimpleDateFormat("MM-dd-yyyy hh:mm a");
AudioManager audioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
int k = audioManager.getStreamVolume(AudioManager.STREAM_SYSTEM);
Toast.makeText(getActivity(), k+"", Toast.LENGTH_LONG).show();
Intent imageview2Intent= new Intent(context, VWid.class);
PendingIntent pendingIntent2= PendingIntent.getBroadcast(context,0, imageview2Intent,0);
views.setOnClickPendingIntent(R.id.imagebuttonrefresh, pendingIntent2); //
views.setTextViewText(R.id.textview1, "Last Refresh: " + dateFormat.format(new Date()).toString());
pushWidgetUpdate(context, views);
}
}
public static void pushWidgetUpdate(Context context, RemoteViews remoteViews) {
ComponentName myWidget = new ComponentName(context, VWid.class);
AppWidgetManager manager = AppWidgetManager.getInstance(context);
manager.updateAppWidget(myWidget, remoteViews);
Log.d("UPDATED", "testing");
}
}
виджета Когда я первый добавить виджет на мой рабочий стол, textview1
дисплеев: Last Refresh: {current date and time}
. Он также отображает системный том в тосте.Как вручную вызвать `onUpdate` из самого
Предположим, что я увеличиваю/уменьшаю системный том, когда я нажимаю обновление, функция onUpdate()
должна запускать показ обновленного Toast, а также обновлять текст textview1
новым данным и временем, но этого не происходит.
Как я могу изменить код, чтобы я мог достичь обновления, в сущности вызывая функцию onUpdate()
.
Это похоже на то, что я закончил делать. Спасибо. +1 для ответа. – Si8