Изображение в виджет

Я пытаюсь установить изображение в представлении изображения в макете виджетов в onUpdate, но изображение не обновляется

@Override public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) { Log.i(TAG, "onUpdate called"); for (int appWidgetId : appWidgetIds) { Bitmap bitmap=ImageUtils.getBitmap(context, appWidgetId); RemoteViews remoteView = new RemoteViews(context.getPackageName(), R.layout.widget); remoteView.setImageViewBitmap(R.id.imgView,bitmap); appWidgetManager.updateAppWidget(appWidgetId, remoteView); } } 

XML-макет для виджета

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <ImageView android:id="@+id/imgView" android:layout_width="fill_parent" android:layout_height="fill_parent" android:src="@drawable/ic_launcher" /> </LinearLayout> 

Файл манифеста

 <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.demo.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".WidgetConfig" android:label="@string/app_name" > <intent-filter> <action android:name="android.appwidget.action.APPWIDGET_CONFIGURE" /> </intent-filter> </activity> <receiver android:name="BasicWidgetProvider"> <intent-filter> <action android:name="android.appwidget.action.APPWIDGET_UPDATE" /> </intent-filter> <meta-data android:name="android.appwidget.provider" android:resource="@xml/widget_info" /> </receiver> <receiver android:name="BasicWidgetProvider"> <intent-filter> <action android:name="android.appwidget.action.APPWIDGET_UPDATE" /> <data android:scheme="widget" /> </intent-filter> <meta-data android:name="android.appwidget.provider" android:resource="@xml/widget_info" /> </receiver> </application> 

widget_info.xml

 <appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android" android:minWidth="25dp" android:minHeight="25dp" android:initialLayout="@layout/widget" android:configure="com.demo.WidgetConfig" android:widgetCategory="home_screen|keyguard" android:previewImage="@layout/widget" android:resizeMode="horizontal|vertical" android:initialKeyguardLayout="@layout/widget" android:minResizeHeight="5dp" android:minResizeWidth="5dp"> </appwidget-provider> 

Но когда вы пытаетесь загрузить виджет, я получаю Toast « App is not installed », я не показываю такого тоста, откуда он приходит?

Почему изображение не устанавливается, как его исправить?

Убедитесь, что у вас есть правильное имя пакета, установленное в поле «android: configure» в XML-приложении appwidget-provider, а также у вас есть правильный набор intetn-фильтров в вашем файле манифеста.

Попробуйте с remoteview.setimageViewuri, как показано ниже.

 @Override public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) { remoteViews = new RemoteViews(context.getPackageName(), R.layout.main); thisWidget = new ComponentName(context, HelloWidget.class); remoteViews.setImageViewUri(R.id.imageView1,Uri.parse("/mnt/sdcard/test.png")); appWidgetManager.updateAppWidget(thisWidget, remoteViews); } 
 <receiver android:name="BasicWidgetProvider"> <intent-filter> <action android:name="android.appwidget.action.APPWIDGET_UPDATE" /> </intent-filter> <meta-data android:name="android.appwidget.provider" android:resource="@xml/widget_info" /> </receiver> 

Вам не хватает точки перед именем, и у вас есть этот приемник дважды.

Проверьте эту ссылку.
Вот полная демонстрация для виджета Нажмите здесь и импортируйте этот проект com.javatechig.widgetdemo

Intereting Posts
Аутентификация с помощью Active Directory через Kerberos Эквивалент MessageBox в Android? Ошибка при создании проекта javasdroid с помощью Doclava Сосредоточиться на втором edittext только в том случае, если сначала это не пустой андроид Асимметричное несоответствие шифрования – Android против Java Android-приложение для сборки: gradlew не существует Как автоматизировать шаблон разблокировки на реальном телефоне с помощью uiautomator? Android: как использовать Wi-Fi-сеть для определенных хостов, но использовать телефон. Мобильная сеть для всего остального. Сохранение изображения из эскиза обработки Android Как настроить инъекцию зависимостей DAGGER с нуля в проекте Android? Вызвать статический java-метод другого пакета из собственного кода Как проверить AlertDialog на Android? Сторонние замены для MediaPlayer / MediaRecorder? Ошибки сборки Gradle при интеграции DroidAR в проект студии Android Как определить, имеет ли устройство Android экран, будь то Android-приставка?