Я работаю над виджетом, который будет изменять данные, которые он отображает, когда пользователь нажимает на него. Обычно с этим легко справиться, но мой поставщик виджетов приложения обрабатывает несколько экземпляров виджетов, которые имеют разные наборы данных. При этом, когда пользователь нажимает на виджет, запускается PendingIntent, который вызывает метод changeData (). Внутри намерения, которое запускается, я храню идентификатор виджета, поэтому changeData () знает, какой набор данных использовать. Сначала я сохранял идентификаторы виджетов в дополнительных функциях намерения, но я обнаружил, что есть ошибка в том, как виджеты Android обрабатывали дополнительные функции намерений виджетов, поэтому теперь я пытаюсь сохранить виджет, передавая URL-адрес с помощью метода setData () (отформатированный как контент: widgetId IE контент: 24 и т. д.).
Вот как я устанавливаю данные для PendingIntent:
Intent changeData = new Intent("com.tonycosentini.mintdroid.CHANGE_DATA");
changeData.setData(Uri.parse("content:" + currentWidgetId));
PendingIntent changeDataPendingIntent = PendingIntent.getBroadcast(this, 0, changeData, 0);
Однако, как только я пытаюсь это проверить, метод onRecieve (), который обычно вызывается при нажатии виджета, больше не вызывается. Есть ли что-то, что мне нужно настроить в файле Android Manifest для этой работы должным образом, или я что-то делаю совершенно неправильно?
Спасибо, что нашли время прочитать это,
Tony