Articles of android appwidget

小部件未出现在小部件列表中

我在stackoverflow上读过几个关于这个的问题,但没有一个答案能解决我的问题。 我正在尝试向我的应用添加主屏幕小部件,我的小部件不会出现在Android的小部件列表中。 我尝试重启设备 ,重新安装应用程序,更改配置文件中的参数,确保SD卡上没有安装应用程序。 没有什么工作。 这是我目前的代码: 在AndroidManifest.xml的应用程序标签内: 在/res/xml/gulp_widget_info.xml里面: 在/res/layout/layout_widget.xml里面: 在/java/info/andrewdahm/gulp/GulpWidgetProvider.java中: public class GulpWidgetProvider extends AppWidgetProvider { @Override public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) { final int N = appWidgetIds.length; // Perform this loop procedure for each App Widget that belongs to this provider for (int i=0; i<N; i++) { int appWidgetId = appWidgetIds[i]; […]

强制Android小部件更新

我在onreceive方法中响应我的appwidget上的按钮按下。 当我按下按钮时,我想强制小部件调用onupdate方法。 我该如何做到这一点? 提前致谢!

app widget setImageViewUri不更新图像

我有一个应用程序小部件,其中只包含一个imageview。 我重绘该图像并将其作为png存储在应用程序的私有内存中,然后我使用uri(widget.setImageViewUri(R.id.widget_icon,uri))设置RemoteViews的图像,而不是自己发送位图,因为非常罕见我得到的情况! 失败的粘合剂交易! 问题是,随着图像随时间的变化,小部件的图像不会改变。 我用root explorer检查了保存的png并且它已正确更新。 但不显示正确的图像。 每个小部件显示从添加到主屏幕时的图像。 如果我使用setImageViewBitmap(…)它可以正常工作,除了罕见的失败的活页夹事务。 我使用以下方法从服务更新小部件。 它不适用于Android 2.3.7,也适用于运行2.2的模拟器。 可能是什么问题呢? 是以某种方式缓存? public void updateWidget(Context context) { // redraws the widget’s image updateIcon(); OutputStream stream; try { stream = context.openFileOutput(“icon.png”, Context.MODE_WORLD_READABLE); } catch (FileNotFoundException ex) { ex.printStackTrace(); return; } m_Icon.compress(CompressFormat.PNG, 100, stream); try { stream.close(); } catch (IOException ex) { ex.printStackTrace(); } AppWidgetManager […]

Android小部件未更新 – 具有不正确的小部件ID

我一直在研究一个小部件并取得一些进展(我希望),但仍然无法让它做我想要的。 我有一个配置器活动,可以正常工作。 当它关闭时,我调用WordWidget类中的updateAppWidget方法,小部件更新随机数。 由于onClick,我无法做到的是随机数改变。 根据日志,我输入onReceive()方法,但这就是它。 在日志中我打印小部件ID。 我注意到,当从配置器活动运行时,它打印appWidgetId = 33,但是当我按下小部件时,它打印appWidgetId = 24。 这是代码: public class WordWidget extends AppWidgetProvider { @Override public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) { //This is run when a new widget is added or when the update period expires. Log.v(“wotd”, “In onUpdate(), updating ” + appWidgetIds.length + ” widgets”); Log.v(“wotd”, ” […]

可以在Eclipse中预览AppWidget的布局吗?

我正在开发相当多的主屏幕小部件,目前我必须在我的模拟器或手机上安装它们才能预览布局。 是否可以在Eclipse中预览布局? 当我在预览模式下打开布局的XML时,它会将其显示为活动,因此缩放完全错误。

锁定屏幕上的媒体控制,如Android中的Google Play音乐?

我已经通过了锁屏小部件文档,我实现了它,但这不是自动放在主锁窗口上的内容。 我正在寻找提供Media Lock-screen窗口(在Jelly Bean及以上版本中)的媒体控制解决方案,如Google Play音乐应用程序。 看看谷歌播放音乐锁,这显然不是锁定屏幕小部件。

如何观察内容提供者的变化? 安卓

我创建了一个Contentprovide并实现了它的update()方法,如下所示: @Override public int update(Uri uri, ContentValues values, String selection, String[] selectionArgs) { final SQLiteDatabase db = mHelper.getWritableDatabase(); int count = db.update(InslideDB.FOLDER_TABLE, values, selection, selectionArgs); /* To notify the observer */ this.getContext().getContentResolver().notifyChange(URI, null); return count; } 如何在appwidget中收到通知? 谢谢! 我正在尝试这个解析器,但没有Log(——————– Date Changed)打印: class DataProviderObserver extends ContentObserver { private AppWidgetManager mAppWidgetManager; private ComponentName mComponentName; DataProviderObserver(AppWidgetManager mgr, ComponentName […]

当onReceive方法存在时,不会调用App Widget onUpdate

我在AppWidgetProvider类中有以下代码。 @Override public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) { Log.i(“Custom”, “Update”); } @Override public void onReceive(Context context, Intent intent) { Log.i(“Custom”, “Recieve”); } 如果我注释掉onReceive方法,每次我将小部件添加到主屏幕时都会调用onUpdate方法,如果我不这样做则不会运行。 有什么想法吗?

小部件中的ListView在滚动和resize时添加随机项(嵌套的远程视图)

更新: 我创建了一个包含较少代码的存储库 ,以使其更容易理解。 我正在尝试创建一个小部件。 我就像这里描述的那样: https : //stackoverflow.com/a/6093753/2180161 它部分工作,但我有一个非常奇怪的错误。 我做了一个截屏video ,所以更容易理解我的意思: http : //c.maysi.de/c6H9 截图 : 如您所见,有些项目是随机添加的。 (添加到另一个RemoteViews对象的RemoteViews ) 当我调整窗口小部件的大小时 RemoteViews 发生同样的情况。 我在日志中打印的内容与预期的一样。 没有错误的数据。 滚动时也没有新的日志条目。 这是我的代码: RemoteViewsFactory: @TargetApi(Build.VERSION_CODES.HONEYCOMB) public class MyWidgetViewsFactory implements RemoteViewsService.RemoteViewsFactory { private static ArrayList items = new ArrayList(); private static int itemnr = 0; private static int subitemnr = 0; private int […]

onGetViewFactory只为多个小部件调用一次

我有一个使用ListView的appwidget。 我创建了一个扩展RemoteViewsService的类: public class AppWidgetService extends RemoteViewsService { @Override public RemoteViewsFactory onGetViewFactory(Intent intent) { return (new AppWidgetListFactory(this.getApplicationContext(), intent)); } } 在我的AppWidgetProvider ,我为每个小部件实例调用以下方法(对于每个appWidgetId ): private static void fillInList(RemoteViews widget, Context context, int appWidgetId) { Intent intent = new Intent(context, AppWidgetService.class); intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId); widget.setRemoteAdapter(R.id.appwidget_listview, intent); } AppWidgetListFactory的构造函数 public AppWidgetListFactory(Context context, Intent intent) { this.context = context; appWidgetId […]