не обновляет значение в функции onUpdate (android виджет) - PullRequest
0 голосов
/ 08 февраля 2020

Я пишу 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

...