问题标签 [android-appwidget]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 如何获取appwidget的位置?
我想得到appwidget在屏幕上的位置,但不知道怎么做。我应该使用什么功能?编辑:我在启动器中发现有这些代码:
它是构建启动器特定的小部件信息并保存到数据库,我发现数据库是 LauncherModel,在 LauncherModel 中有一个私有 ArrayList,如果我得到 ArrayList,我想我可以得到 appwidget 的位置,有人可以告诉我如何得到这个。谢谢。
android - AppWidgetProvider: not called onEnabled method
I have widget that display data from content provider. I want to know when data in content provider changes. As far as I know way to do it is
context.getContentResolver().registerContentObserver
But AppWidgetProvider.onEnabled method is not called when I add first instance of the widget.
That's why I can't make registerContentObserver
.
The same with onDisabled.
How to solve this problem?
Thanks
android - UpdateAppWidget 空指针异常
以下是更新 appwidget 的静态方法:
AppWidget 正在从 GetPostService 挂起服务成功更新。安装后第一次启动 Pending Activity 时,我可以成功更新小部件。但是如果我再次启动第二次,Activity 会正确启动,但 AppWidget 没有得到更新,它会抛出空指针异常。我正在从 UI 线程(从 AsyncTask 的 onPostExecute() 方法)更新小部件。
W/System.err(522): 在 android.widget.RemoteViews$ReflectionAction.writeToParcel(RemoteViews.java:400) W/System.err(522): 在 android.widget.RemoteViews.writeToParcel(RemoteViews.java:1012 ) W/System.err(522): 在 com.android.internal.appwidget.IAppWidgetService$Stub $Proxy.updateAppWidgetIds(IAppWidgetService.java:374) W/System.err(522): 在 android.appwidget.AppWidgetManager.updateAppWidget (App pWidgetManager.java:246) W/System.err(522): 在 android.appwidget.AppWidgetManager.updateAppWidget(App pWidgetManager.java:265) W/System.err(522): 在 com.mobisys.android.app_widget .MyWidgetProvider.updat eAppWidget(MyWidgetProvider.java:185) W/System.err(522):在 com.mobisys.android.app_widget.MyWidgetProvider.onRec eive(MyWidgetProvider.java:71) W/System.err(522):在 android.app.ActivityThread.handleReceiver(ActivityThr ead.java:1769) W/System。错误(522):在 android.app.ActivityThread.access$2400(ActivityThread.java:117)W/System.err(522):在 android.app.ActivityThread$H.handleMessage(ActivityTh read.java:978)W/ System.err(522):在 android.os.Handler.dispatchMessage(Handler.java:99)W/System.err(522):在 android.os.Looper.loop(Looper.java:123)W/System。错误(522):在 android.app.ActivityThread.main(ActivityThread.java:3 647)W/System.err(522):在 java.lang.reflect.Method.invokeNative(本机方法)W/System.err( 522): 在 java.lang.reflect.Method.invoke(Method.java:507) W/System.err(522): 在 com.android.internal.os.ZygoteInit$MethodAndArgsCalle r.run(ZygoteInit.java:839 ) W/System.err(522): 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.ja va:597) W/System.err(522): 在 dalvik.system.NativeStart.main(Native Method )java:117) W/System.err(522): 在 android.app.ActivityThread$H.handleMessage(ActivityTh read.java:978) W/System.err(522): 在 android.os.Handler.dispatchMessage(Handler .java:99) W/System.err(522): 在 android.os.Looper.loop(Looper.java:123) W/System.err(522): 在 android.app.ActivityThread.main(ActivityThread.java :3 647) W/System.err(522): 在 java.lang.reflect.Method.invokeNative(Native Method) W/System.err(522): 在 java.lang.reflect.Method.invoke(Method.java :507) W/System.err(522): 在 com.android.internal.os.ZygoteInit$MethodAndArgsCalle r.run(ZygoteInit.java:839) W/System.err(522): 在 com.android.internal。 os.ZygoteInit.main(ZygoteInit.ja va:597) W/System.err(522): at dalvik.system.NativeStart.main(Native Method)java:117) W/System.err(522): 在 android.app.ActivityThread$H.handleMessage(ActivityTh read.java:978) W/System.err(522): 在 android.os.Handler.dispatchMessage(Handler .java:99) W/System.err(522): 在 android.os.Looper.loop(Looper.java:123) W/System.err(522): 在 android.app.ActivityThread.main(ActivityThread.java :3 647) W/System.err(522): 在 java.lang.reflect.Method.invokeNative(Native Method) W/System.err(522): 在 java.lang.reflect.Method.invoke(Method.java :507) W/System.err(522): 在 com.android.internal.os.ZygoteInit$MethodAndArgsCalle r.run(ZygoteInit.java:839) W/System.err(522): 在 com.android.internal。 os.ZygoteInit.main(ZygoteInit.ja va:597) W/System.err(522): at dalvik.system.NativeStart.main(Native Method)os.Handler.dispatchMessage(Handler.java:99) W/System.err(522):在 android.os.Looper.loop(Looper.java:123) W/System.err(522):在 android.app。 ActivityThread.main(ActivityThread.java:3 647) W/System.err(522):在 java.lang.reflect.Method.invokeNative(Native Method) W/System.err(522):在 java.lang.reflect。 Method.invoke(Method.java:507) W/System.err(522): 在 com.android.internal.os.ZygoteInit$MethodAndArgsCalle r.run(ZygoteInit.java:839) W/System.err(522):在 com.android.internal.os.ZygoteInit.main(ZygoteInit.ja va:597) W/System.err(522): 在 dalvik.system.NativeStart.main(本机方法)os.Handler.dispatchMessage(Handler.java:99) W/System.err(522):在 android.os.Looper.loop(Looper.java:123) W/System.err(522):在 android.app。 ActivityThread.main(ActivityThread.java:3 647) W/System.err(522):在 java.lang.reflect.Method.invokeNative(Native Method) W/System.err(522):在 java.lang.reflect。 Method.invoke(Method.java:507) W/System.err(522): 在 com.android.internal.os.ZygoteInit$MethodAndArgsCalle r.run(ZygoteInit.java:839) W/System.err(522):在 com.android.internal.os.ZygoteInit.main(ZygoteInit.ja va:597) W/System.err(522): 在 dalvik.system.NativeStart.main(本机方法)invokeNative(本机方法)W/System.err(522):在 java.lang.reflect.Method.invoke(Method.java:507)W/System.err(522):在 com.android.internal.os.ZygoteInit $MethodAndArgsCalle r.run(ZygoteInit.java:839) W/System.err(522): 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.ja va:597) W/System.err(522):在 dalvik.system.NativeStart.main(本机方法)invokeNative(本机方法)W/System.err(522):在 java.lang.reflect.Method.invoke(Method.java:507)W/System.err(522):在 com.android.internal.os.ZygoteInit $MethodAndArgsCalle r.run(ZygoteInit.java:839) W/System.err(522): 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.ja va:597) W/System.err(522):在 dalvik.system.NativeStart.main(本机方法)
我从 Pending Activity 以下列方式调用 updateAppWidget 静态方法:
可能是什么问题?
提前致谢。
android - 小部件预览保存位置
我已经使用默认的“小部件预览”应用程序在 Honeycomb 模拟器中截取了我的应用小部件的屏幕截图,但我不知道图像保存在哪个位置。我一直在使用 adb shell 命令以及在 Gallery 应用程序中查看,但我一直无法找到它。我可以通过电子邮件发送或发送彩信,但我想我不需要在模拟器上设置邮件帐户。
有没有一种简单的方法来获取我错过的图像,或者我真的需要在模拟器上设置一个邮件帐户?
提前致谢。
android - Android:Mediaplayer 像火箭一样发射,消失了
我正在尝试创建一个流媒体播放器小部件。我能够让它播放,但按下停止给(或给)我一个 NullpointerException (但 PAUSE 和 STOP 确实在 Logcat 中很好地显示)。所以 Mediaplayer 启动了,它就消失了,我无法把它拿回来。我做错了一定是小事,但我就是无法摆脱它。任何想法?
编辑:(编辑撤消)
android - 如何禁用小部件 updatePeriodMillis?
我试图弄清楚如何禁用小部件的更新期?我不需要这个特殊的功能。添加时调用 onUpdate 的小部件我很好......
android - 系统重新启动我的进程后,AppWidget 点击丢失
我正在制作一个应用程序小部件,但我遇到了点击事件的问题,当系统终止小部件的进程并稍后重新启动它时,该事件会丢失。屏幕旋转后也会发生这种情况。
针对 SDK 版本 7 构建并在模拟器 (2.1) 和具有 2.3.3 的真实设备上运行。
我的 onUpdate 方法:
其中 R.id.widget_layout 是 appwidget 的线性布局的 id。我尝试将此单击事件也添加到文本视图,但结果相同。
我与这个问题斗争了好几天,我发现有些人有同样的问题,但没有解决方案对我有用:(我也尝试了不同的待处理意图标志,但没有任何成功。
第二个问题是,当我在主屏幕上添加另一个 appwidget 时,它对点击事件没有反应。在 logcat 中,我看到来自 onUpdate 方法“onUpdate widget #xy”的消息,但 appwidget 对点击没有反应。只有放置在主屏幕上的第一个 appwidget 会对点击做出反应,但只会持续一段时间。有任何想法吗?
android - 是否可以在 appwidget 中检测到长按?
我已经想出了如何使用 setOnClickPendingIntent 来检测和处理视图上的按下,但我找不到任何方法来检测长按(或双击)。我希望根据用户是按下还是长按来执行不同的操作。这可能吗?
谢谢。
android - Android:有没有办法获取 RemoteViews 对象的大小?
在我的应用小部件中,我有一个 LinearLayout,其高度和宽度设置为 fill_parent。有没有办法在运行时获取已分配给该视图的实际大小?
android - 进程被杀死后的 Android onEnabled() 生命周期
根据文档,AppWidgetProvider 类的生命周期由 Android 平台管理。该文档还指出,生命周期方法 onEnabled() 仅被调用一次。但是,由于 Android 平台回收其内存而被删除的小部件呢?在这种情况下,当再次激活小部件时(例如,收到了一些意图,或者有人点击了小部件),是否会再次调用 onEnabled() 方法?