Я успешно завершил эту часть моего проекта. Существует два сценария
- Когда мы передаем значения, приложение будет запущено.То есть мы передаем значения непосредственно в действие
- . Запустив приложение, мы можем передать значения. Здесь мы используем сервис
В обеих ситуациях мы можем использовать два метода
- Использование
sharedpreferences
- Использование
Intent(putExtra())
Если вы хотите передать значение непосредственно действию (приложение будет запущено во время передачизначение) вы можете использовать второй вышеупомянутый метод и вызывать действие (какое действие вы хотите запустить) следующим образом:
RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.new_app_widget);
Intent intent = new Intent(context,MainActivity.class);
PendingIntent pendingIntent = PendingIntent(context, 0, intent, 0);
views.setOnClickPendingIntent(R.id.PunchIn, pendingIntent);
appWidgetManager.updateAppWidget(appWidgetId, views);
этот код для запуска MainActivity с помощью нажатия кнопки виджета.В Inten вы можете использовать putExtra () для передачи values.better, чтобы не использовать sharedpreference здесь.
Для передачи значения без запуска приложения вы можете вызвать сервис из кнопки виджета, затем вы можете добавить любой код, который хотите добавитьв файле service.class
.Вы можете позвонить в службу следующим образом:
RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.new_app_widget);
Intent intent = new Intent(context,MyService.class);
PendingIntent pendingIntent = PendingIntent.getService(context, 0, intent, 0);
views.setOnClickPendingIntent(R.id.PunchIn, pendingIntent);
appWidgetManager.updateAppWidget(appWidgetId, views);
из этого класса обслуживания вы можете передать значения в приложение, используя SharedPrefernce
или putExtra()
.
Если вы хотите создать виджет кнопки, который работает так же, как нажатие кнопки приложения, вы можете использовать второй метод.Здесь вы можете вызвать сервис по нажатию кнопки, как упомянуто выше, а затем написать код для нажатия кнопки в классе обслуживания.
Я новичок в Android, я работал с виджетом в моем проекте для этого много исследовали это заняло много времени.так что подумал о публикации этого, который поможет любому, как яесли вы нашли какую-либо ошибку / ошибку, пожалуйста, исправьте me.happy, чтобы исправить мою ошибку.Спасибо