问题标签 [appwidgetprovider]
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 - 应用小部件安卓
我创建了一个应用小部件演示,我想知道的是:是否可以将其设置在主屏幕的顶部或底部?
设置为底部时,无法单击 Android 应用程序菜单拨号器快捷方式和联系人。如果屏幕是空的,那么它被设置为顶部,但是底部呢?
如果屏幕不是空的(假设顶部有谷歌搜索标签栏)并且我想在谷歌搜索栏上方显示我的小部件?
有没有可能?
android - AppWidgetProvider 和 ContentProvider
我正在修改 WeatherListWidget 示例 Android 应用程序。就我而言,数据点可以自行更改 - 我希望这些更改能够反映在应用程序小部件显示中,而无需单击刷新按钮。
有没有教程可以解释如何做到这一点?我认为,我真正想做的就是强制刷新或更新。(是的,我对 Android 编程比较陌生)
谢谢,
[更新]
我正在显示内部传感器(由 SensorManager 管理的传感器)的值,并监听传感器值的变化。我的 SensorDataProvider 类扩展了 ContentProvider 并实现了 SensorEventListener。
因此,这将引发对显示更新的需求。最终,我可能需要控制更新率——但这不是我的直接问题。
android - Android appwidget 将其他小部件变成添加的小部件,第二个小部件不起作用?
我正在制作一个有 2 个小部件的 android 应用程序。我有 1 个小部件设置和工作,第二个小部件在小部件列表中被识别并正确加载,但是:
如果我在添加小部件 2 时屏幕上已经有小部件 1,则两个小部件都会更改为小部件 2。如果我有一个小部件 2 和一个小部件 1,并添加一个小部件 2,它们都会更改为小部件 2。如果我添加了小部件 1 - 它们都更改为小部件 1。
此外,单击小部件 2 时没有任何反应,即使我使用了与小部件 1 几乎相同的代码。
以下是相关文件:
AndroidManifest.xml
Widget.java(对于小部件 1):
Reboot_rec.java(用于小部件 2):
Rebr_widget.xml(用于小部件 2):
widgetstuff.xml(用于小部件 1):
任何人都可以告诉我问题是什么吗?我正在努力解决这个问题:(
android - Android Widget 并点击 Listener
我正在尝试使用启动时钟应用程序制作一个小部件。
为什么此代码在真实设备上不起作用?
我做错了什么?
我在模拟器上运行应用程序并单击小部件 - 这项工作。在安卓 4.0.3、2.2 上测试
android - Android小部件不响应触摸
我正在尝试一些非常简单的代码来让 Android 小部件运行,但没有运气。我环顾四周,并没有找到一个好的答案。
我想要的(现在)只是在触摸小部件时增加一个计数器并显示当前值。
这是我的 AppWidgetProvider:
这是我清单的一部分:
日志显示 onReceive() 被放置在主屏幕上后立即被调用,并且在被触摸后,但数量从未增加。我不完全理解小部件是如何工作的,但是它们在 onUpdate() 之后被杀死了吗?所以要做到这一点,我必须使用某种持久存储?
此外,如果我当前添加另一个小部件,即使我只是触摸一个,两者都会显示相同的值并增加。有没有办法让每个小部件都有自己的计数器?
谢谢!
android - Android 小部件未更新 - 小部件 ID 不正确
我一直在研究一个小部件并取得了一些进展(我希望如此),但仍然无法让它做我想做的事。
我有一个可以正常工作的配置器活动。当它关闭时,我调用 WordWidget 类中的 updateAppWidget 方法,小部件会更新随机数。
由于onClick,我不能做的就是改变随机数。根据日志,我确实输入了 onReceive() 方法,但仅此而已。
在日志中,我正在打印小部件 ID。我注意到,当从配置器活动运行时,它打印 appWidgetId=33,但是当我按下小部件时,它打印 appWidgetId=24。
这是代码:
这是从我触摸小部件时开始的日志文件(请注意,prefs 活动也有一个日志打印输出,并将小部件 ID 显示为与此不同的数字):
05-14 17:15:47.463: V/wotd(1585): 在 updateAppWidget() 中,nextNumb = 42
如您所见,我实际上是在输入我的 updateAppWidget 方法,但由于某种原因 appWidgetId 不正确。
任何想法为什么会发生这种情况?非常感谢!
android - Android意图需要很长时间才能收到
在我的应用程序中,我正在发送更新 appWidget 的意图。问题是,从 logcat 我可以看到意图平均需要十秒钟才能被接收。
我看到的唯一看起来有点可疑的是活动正在开始的警告。为什么会有这样的警告?除此之外,一切似乎都很好。
发送意图的代码没什么特别的:
appWidgetProvider 中的 onReceive 也没什么特别的。Log 语句是第一个命令。
什么可能导致接收意图需要超过 10 秒的时间?
跳过
android - 在 AppWidgetProvider 中如何以及在何处存储持久对象(如 db 适配器)?
我正在开发主屏幕小部件,并且正在使用 android sqlite 数据库。我DBAdapter
用简单的方法(添加、删除、获取记录...)实现了一个简单的类来处理数据库工作。它有效,但现在我正在考虑如何做到这一点的最佳方法。
对我来说最大的问题是如何(以及在哪里)存储我的 DBAdapter 的实例。如果我使用 Activity,那将非常简单——我将在onCreate
方法中创建我的 DBAdapter 的实例,一切都很好。但是现在我没有这样的选择,因为我正在使用AppWidgetProvider
并且很少IntentServices
. AppWidgetProvider
(BroadcastReceiver) 只存在一定的时间 - 在onReceive
方法执行期间。IntentService
在完成必要的工作后也“结束”。那么如何以及在哪里存储我的 DBAdapter 的实例?我不想每次都创建新的 DBAdapter 实例。
我在考虑这个选项:制作 DBAdapter 单例类或使用静态类和方法,另一个选项是使用 Gson 将 DBAdapter 存储到 sharedPreferences,或者使用序列化。但我更想问。这样做的正确方法是什么?多谢
android - Android默认锁屏上的应用小部件?
我只想知道是否可以将小部件添加到我们的 Android 锁定屏幕。实际上,通过在主屏幕的菜单中选择小部件选项,我们将自己的或默认的小部件添加到主屏幕。是否可以将以下小部件添加到我们的锁定屏幕。可能吗....?我浏览了很多关于锁屏的网站,但我没有得到正确的信息。他们提供了与定制锁屏相关的信息。
根据图像,我想要的主要是时间和日期,我们可以显示我们自己的小部件。我不想要任何定制的或我们自己创建的锁屏。我们可以将小部件添加到 android 提供的默认锁屏...?
等待回复,提前谢谢......
android - 我是否需要从主/UI 线程调用 AppWidgetManager 的 updateAppWidget 方法?
我已经阅读了有关 App Widgets 的开发人员指南,并且我了解到为避免 ANR 错误,您应该在AppWidgetProvider的onUpdate方法中启动服务以更新小部件......我对此类服务有疑问:何时我们开发标准服务,可以从一个活动开始,我们应该避免在onStartCommand中计算太长,因为onStartCommand方法在主 UI 线程中运行。所以,我们是否应该避免在由启动的服务的onStartCommand中进行长时间计算AppWidgetProvider还是在这种情况下我们不会冒险阻止 UI?如果我们必须避免在onStartCommand中进行长时间计算同样在这种情况下,我们可以在服务中启动工作线程,还是使用 Intent 服务?在这种情况下,我们可以使用AppWidgetManager的updateAppWidget方法从我们想要的任何线程更新小部件,还是冒着从 UI 线程外部更新 UI 的风险?
我希望问题很清楚..