问题标签 [android-remoteview]

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.

0 投票
0 回答
191 浏览

android - 在所有 Android 设备上一致地显示通知

我需要显示带有文本、图像和两个按钮的通知。我正在使用支持库中的 NotificationCompat 并且一切正常,直到我开始在不同的设备上对其进行测试。

这是 3 个不同设备上的相同通知:

3种不同设备的屏幕截图

这里有一些问题:

设备 1(Nexus 5、6.0):消息文本丢失,图像被裁剪。
设备 2(模拟器,7.0):图像被严重裁剪
设备 3(小米 mi5s,6.0):消息文本丢失,操作文本为黑色,几乎不可见

我能够重现的其他缺陷:白色背景上的白色动作图标;图像未显示(三星 Galaxy s8 plus,android 7.0);未显示操作按钮。

最后,两个最大的问题是:通知的某些部分不显示以及操作图标或操作文本与背景颜色几乎相同。

这是我显示通知的代码:

我正在考虑使用我自己的布局,但我找不到一种方法来理解设备的主要颜色是什么。有些设备在黑色背景上使用白色通知,有些在黑色背景上使用黑色通知等等。如果通知使用不同的颜色,它将看起来很陌生。

我知道我可以将这个问题归咎于特定设备,但我仍然需要我的通知几乎可以在任何地方工作并且看起来或多或少一致(没有重大故障,例如不可见的文本或缺少元素)。

有没有办法设置操作按钮的背景和文本颜色,以便它们始终可见?

有没有办法知道设备的通知区域和通知背景使用哪些颜色?

我可以使用 BigPictureStyle 以外的其他东西吗?

我只是希望有人遇到同样的问题并找到任何解决方法。

0 投票
1 回答
1795 浏览

android - 多次包含时在布局内设置Android RemoteViews的文本

我参考了这个问题: 当我多次重用布局时,如何访问布局内的视图?

我有以下两种布局:

通常,您可以在包含的布局中以编程方式访问 TextView,如下所示:

但就我而言,我有一个只能通过 RemoteViews 访问的 Android AppWidget:

这只会更改第一个 TextView 的文本。

我还没有找到任何解决方案,所以我的问题是是否可以在多个包含的布局中设置 TextView 的文本。

0 投票
1 回答
2870 浏览

android - android.app.RemoteServiceException:从包发布的错误通知

我有一个经常创建通知的应用程序。它被几十万用户使用。通常我对通知没有任何问题,但是这个用户得到了我在下面添加的异常。

除此以外的所有用户都拥有 Android 4.4.4 的 TCL 手机

任何人都知道可能导致这种情况的原因是什么?

谢谢。

编辑:布局。我有两种布局,一大一小。

小的:

大的:

在添加该布局时,我注意到android:scaleX="-1"并且我不知道为什么我在那里有它,所以我将向用户发送一个没有它的 apk。我有那个,因为它是面向另一个方向的相同图像。我会看看我是否可以更换它,以防万一出现问题。

编辑:向用户发送新版本android:scaleX="-1",但仍然发生崩溃。

编辑:添加波纹可绘制对象。由于用户使用的是 4.4,他们会得到这些:

0 投票
1 回答
152 浏览

android - 为什么我的小部件没有运行?

你好,你能看到那些片段并告诉我为什么我的服务在调用后没有启动startService()。我正在尝试创建一个 Widget ,它为屏幕上的所有小部件运行一项服务。该服务提供了一个工厂来填充列表视图。我是小部件的新手,所以如果我做错了什么,请警告我。

这是 Widget Provider 类:

这是服务:

这是工厂:

0 投票
1 回答
174 浏览

android - 在自定义通知android的xml中使用外部库时崩溃

在 Api 级别高于 24 的异常是

在 Aapi 级别低于 24 的异常是

这是使用 io.github.rockerhieu.emojicon.EmojiconTextView 的自定义 R.layout.custom_notification xml

通知生成器java代码我使用remoteview将它传递给使用.setCustomContentView(remoteCollapsedView)的通知

我已将库添加到 gradle

当收到通知时,应用程序会因上述异常而崩溃,如果这是不可能的,或者我遗漏了什么,我会感到困惑

0 投票
1 回答
1060 浏览

android - RemoteViews 上的 partialUpdateAppWidget 不起作用

RemoteViewsfor anAppWidgetAdapterViewFlipper,当用户单击AppWidget. 根据官方文档,这应该通过在RemoteViews. 然后AppWdiget应该使用 partialUpdateAppWidget 更新,甚至具有showNext()文档中的示例功能。我已经尝试过实现这一点,但我很可能会犯一些我似乎无法弄清楚的愚蠢错误。

当用partiallyUpdateAppWidgetupdateAppWidget一个按钮替换时,直到方向改变或手机进入睡眠状态,这会强制重绘最后存储的RemoteViews. 这让我相信我犯的错误与部分更新有关,但我无法弄清楚我做错了什么。

0 投票
0 回答
976 浏览

android - 使用 ImageView 和支持库 25.3 -> 26+ AppCompatImageView 膨胀 RemoteView

我有一个 RemoteViews 实例,作为可打包数据从另一个应用程序接收。我不能简单地更改服务结果(仍然必须提供向后兼容性)。接收到的 RemoteView 有一个简单的布局:一个 LinearLayout 容器,里面有一个 TextView 和一个 ImageView。图像视图带有一个位图图像集。到现在为止,远程视图是通过调用来膨胀的remoteView.apply(Context context, ViewGroup parent),然后生成的视图被添加到屏幕上的另一个布局中。

目前将支持库更新到最新版本后:在我的情况下,从 25.3.1 到 26.1.0,调用remoteView.apply(Context, ViewGroup)开始抛出异常:

这似乎是由于缺少AppCompatImageViewRemotableViewMethod上的注释引起的。setImageBitmap()也许它在支持 26+ 时被删除或从未存在,因为 AppCompatImageView 不打算在 RemoteViews 中使用......似乎在支持库(23.1.0)的早期版本中,“setImageResource(int)”和“setBackgroundResource( int)”以同样的方式开始失败:https ://issuetracker.google.com/issues/37071559

我想了解的是:

  • 它是否按预期工作?我想是的,但是:
  • 如何解决这个问题?(可能我错过了一些东西......)或者:
  • RemoteViews.apply(Context, ViewGroup)当用于 RemoteViews 的膨胀时,有没有办法避免膨胀 AppCompatimageViews 而不是简单的 ImageView ?提供给该apply方法的上下文是“AppCompatActivity”。

我能够找到的唯一“解决方案”(一个丑陋的解决方法)是使用反射从 RemoteView 检索位图数据,然后在我自己的布局中使用该图像。(而不是膨胀 RemoteViews 并将所有内容添加到布局中)。

提前致谢

0 投票
1 回答
700 浏览

android-notifications - 阻止扩展通知视图

我有这段代码来设置我的通知样式:

如您所见,我没有通过调用为通知定义扩展视图mBuilder.setCustomBigContentView()。然而,通知显示为向上箭头,就好像我的通知已展开一样。如何防止该箭头显示?

0 投票
0 回答
64 浏览

android - RemoteView 获得分配的资源

有没有办法获得分配的“ImageViewResource”或 RemoteView 的位图?我可以成功设置调用remoteViews.setImageViewBitmap 或remoteViews.setImageViewResource 的资源。

背景信息:我只想在没有图像集的情况下在 try/catch 中设置默认图像(可以显示旧图像)。

0 投票
0 回答
32 浏览

android - 带有 listview 的 Android Widget 只需点击一下即可调整大小

我创建了一个小部件,listview它对它的每个项目都有多个单击操作。widget一切正常,但只需在空白区域上的任何地方正常单击即可widget编辑,这不是通常的行为(实际行为:长按小部件是使小部件可编辑的操作)。

我不知道为什么会这样。请带我朝正确的方向前进。