Передача значения получателю виджета ⇐ Android
-
Anonymous
Передача значения получателю виджета
В настоящее время я работаю над приложением виджетов для Android, используя Kotlin 1.9.10 и Glance 1.0.0. Я хочу программно закрепить виджет на главном экране. Я могу получить идентификатор виджета в onReceive fun, но хочу придать этому больше значения.
Я использую этот фрагмент кода, чтобы закрепить виджет на главном экране.
val appWidgetManager = AppWidgetManager.getInstance(контекст) val myProvider = ComponentName(context, MyWidgetReceiver::class.java) val pinnedWidgetCallbackIntent = Намерение (Intent.ACTION_MAIN) pinnedWidgetCallbackIntent.addCategory(Intent.CATEGORY_HOME) pinnedWidgetCallbackIntent.flags = Intent.FLAG_ACTIVITY_NEW_TASK val SuccessCallback = PendingIntent.getActivity( контекст, 0, pinnedWidgetCallbackIntent, PendingIntent.FLAG_IMMUTABLE ) appWidgetManager.requestPinAppWidget(myProvider, null, SuccessCallback) А в моем приемнике я переопределяю onReceive fun, чтобы получить идентификатор виджета, который только что был закреплен на главном экране.
переопределить fun onReceive(context: Context, Intent: Intent) { super.onReceive(контекст, намерение) если (intent.action == AppWidgetManager.ACTION_APPWIDGET_UPDATE) { val extras = Intent.extras val widgetId = extras?.getIntArray(AppWidgetManager.EXTRA_APPWIDGET_IDS)?.firstOrNull() ?: -1 } } Но проблема в том, что я хочу передать еще одно значение, чтобы сохранить его в локальном хранилище как карту, используя идентификатор виджета в качестве ключа. Как мне это сделать, пожалуйста, помогите мне.
В настоящее время я работаю над приложением виджетов для Android, используя Kotlin 1.9.10 и Glance 1.0.0. Я хочу программно закрепить виджет на главном экране. Я могу получить идентификатор виджета в onReceive fun, но хочу придать этому больше значения.
Я использую этот фрагмент кода, чтобы закрепить виджет на главном экране.
val appWidgetManager = AppWidgetManager.getInstance(контекст) val myProvider = ComponentName(context, MyWidgetReceiver::class.java) val pinnedWidgetCallbackIntent = Намерение (Intent.ACTION_MAIN) pinnedWidgetCallbackIntent.addCategory(Intent.CATEGORY_HOME) pinnedWidgetCallbackIntent.flags = Intent.FLAG_ACTIVITY_NEW_TASK val SuccessCallback = PendingIntent.getActivity( контекст, 0, pinnedWidgetCallbackIntent, PendingIntent.FLAG_IMMUTABLE ) appWidgetManager.requestPinAppWidget(myProvider, null, SuccessCallback) А в моем приемнике я переопределяю onReceive fun, чтобы получить идентификатор виджета, который только что был закреплен на главном экране.
переопределить fun onReceive(context: Context, Intent: Intent) { super.onReceive(контекст, намерение) если (intent.action == AppWidgetManager.ACTION_APPWIDGET_UPDATE) { val extras = Intent.extras val widgetId = extras?.getIntArray(AppWidgetManager.EXTRA_APPWIDGET_IDS)?.firstOrNull() ?: -1 } } Но проблема в том, что я хочу передать еще одно значение, чтобы сохранить его в локальном хранилище как карту, используя идентификатор виджета в качестве ключа. Как мне это сделать, пожалуйста, помогите мне.
Мобильная версия