Я пишу android виджет, который обновляет переменную каждый день, и у меня проблема. Мой виджет имеет ImageButton, который открывает браузер и находит некоторую информацию об обновлении информации. Мой виджет (картинка) обновляется успешно, но значение не обновляется. xml поставщик файлов
<appwidget-provider
......
android:updatePeriodMillis="36000000">
</appwidget-provider>
java файл:
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
super.onUpdate(context, appWidgetManager, appWidgetIds);
Log.d(LOG_TAG, "onUpdate " + Arrays.toString(appWidgetIds));
String event = (context.getString(getStringResourceByName(context)));
for (int i = 0; i < appWidgetIds.length; i++) {
int currentWidgetId = appWidgetIds[i];
//We make a simple http request for the specified link and go through it:
String url = ("https://www.google.com/search?q=" + event);
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setData(Uri.parse(url));
//We define two required objects of the class PendingIntent and RemoteViews:
PendingIntent pending = PendingIntent.getActivity(context, 0, intent, 0);
RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.widget);
//Set up the processing of a click on adding a widget:
views.setOnClickPendingIntent(R.id.myImageView, pending);
appWidgetManager.updateAppWidget(currentWidgetId, views);
Toast.makeText(context, "Widget added", Toast.LENGTH_SHORT).show();
}
//start update widget
updateAppWidget(context,appWidgetManager,appWidgetIds[0]);
}
проблема в переменной string
не обновляется.
private static int getStringResourceByName(Context context)
{
pic_name = getMounth() + "_" + getDate();
String packageName = context.getPackageName();
int resId = context.getResources().getIdentifier(pic_name, "string", packageName);
return resId;
}
ВАЖНОЕ УВЕДОМЛЕНИЕ !! эта проблема у меня на android 9, вместо этого нет проблем на android 4.4 или android 5