Android - 三星:使用配置活动创建小部件失败

2023-12-08

我构建了一个可以将小部件添加到主屏幕的应用程序。该小部件可与我的 Nexus 6P 和摩托罗拉 Moto G3 配合使用。

对于三星手机(使用 S3 mini (4.1.2)、S5、S6 (6.0.1) 进行测试),小部件根本不会添加,或者 TouchWiz 会崩溃。

使用另一个启动器 (Nova),该小部件也不会在 S3 mini 上创建。

在 logcat 中我根本没有看到任何错误消息。

我试图尽可能缩小问题范围。 如果我删除该小部件,则会创建该小部件android:configure="de.cliff.strichliste.widgets.WidgetConfigurationActivity"来自 counter_widget_info.xml。如果我想使用配置活动,TouchWiz 在 Samsung S3 mini 上会崩溃。

<?xml version="1.0" encoding="utf-8"?>
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
    android:minWidth="40dp"
    android:minHeight="40dp"
    android:configure="de.cliff.strichliste.widgets.WidgetConfigurationActivity"
    android:updatePeriodMillis="1800000"
    android:initialLayout="@layout/widget_counter"
    android:resizeMode="horizontal|vertical"
    android:widgetCategory="home_screen"
    android:previewImage="@drawable/widget_preview">
</appwidget-provider>

在 AndroidManifest.xml 中,我使用以下行注册小部件:

<receiver
            android:name=".widgets.CounterWidgetProvider">
            <intent-filter>
                <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
            </intent-filter>
            <meta-data
                android:name="android.appwidget.provider"
                android:resource="@xml/counter_widget_info" />
</receiver>

在 Java 方面,我在 WidgetConfigurationActivity 中有以下内容:

public class WidgetConfigurationActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        WidgetConfigurationBinding binding = DataBindingUtil.setContentView(this, R.layout.widget_configuration);
        setResult(RESULT_OK);
    }
}

在 WidgetProvider 类中:

public class CounterWidgetProvider extends AppWidgetProvider {
@Override
    public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
        super.onUpdate(context, appWidgetManager, appWidgetIds);
        Intent intent = new Intent(context, CounterWidgetProvider.class);
        context.startService(intent);
    }
}

从我自己的三星设备上进行测试来看,问题似乎在于如果结果是 TouchWiz 会卡住Intent没有附加应用程序窗口小部件 ID,即使它是RESULT_CANCELLED.

From App Widget 开发者页面:

  • App Widget 宿主调用配置 Activity,配置 Activity 应始终返回结果。结果应包括启动 Activity 的 Intent 传递的 App Widget ID(在 Intent extras 中保存为EXTRA_APPWIDGET_ID).

目前尚不清楚您最终希望如何处理结果,但继续并在中设置有效结果绝对是个好主意onCreate(),以防用户退出配置Activity。例如:

final int id = getIntent().getIntExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, 0);
final Intent result = new Intent().putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, id);
setResult(RESULT_OK, result);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android - 三星:使用配置活动创建小部件失败 的相关文章

  • 为什么是 javascript:history.go(-1);无法在移动设备上工作?

    首先 一些背景 我有一个向用户呈现搜索页面 html 表单 的应用程序 填写标准并单击 搜索 按钮后 结果将显示在标准部分下方 在结果列表中 您可以通过单击将您带到新页面的链接来查看单个结果的详细信息 在详细信息页面中 我添加了一个 返回结
  • 图像作为电子邮件附件

    我想构建一个应用程序 我可以在电子邮件中附加图像 打开图像并将其设置为我的壁纸 我想让它跨平台 所以你能告诉我是否可以使用phonegap 或者我是否必须为iphone和android构建一个本机应用程序 您好 如果您只想通过电子邮件附加图
  • Java ResultSet 如何检查是否有结果

    结果集 http java sun com j2se 1 4 2 docs api java sql ResultSet html没有 hasNext 方法 我想检查 resultSet 是否有任何值 这是正确的方法吗 if resultS
  • 如何在谷歌地图android上显示多个标记

    我想在谷歌地图android上显示带有多个标记的位置 问题是当我运行我的应用程序时 它只显示一个位置 标记 这是我的代码 public class koordinatTask extends AsyncTask
  • Android - AudioRecord类不读取数据,audioData和fftArray返回零

    我是 Android 新手 一直在开发音调分析器应用程序 最低 SDK 8 我读了很多关于如何实现 Audiorecord 类的文章 但我想知道为什么它在我录制时不读取任何数据 我尝试显示 audioData 和 fftArray 的值 但
  • 我应该释放或重置 MediaPlayer 吗?

    我有自己的自定义适配器类 称为 WordAdapter 并且我正在使用媒体播放器 名为pronounce WordAdapter 类中的全局变量 我有不同的活动 其中每个列表项都有线性布局 名为linearLayout 我正在设置onCli
  • java.io.Serialized 在 C/C++ 中的等价物是什么?

    C C 的等价物是什么java io Serialized https docs oracle com javase 7 docs api java io Serializable html 有对序列化库的引用 用 C 序列化数据结构 ht
  • 如何使用 jUnit 将测试用例添加到套件中?

    我有 2 个测试类 都扩展了TestCase 每个类都包含一堆针对我的程序运行的单独测试 如何将这两个类 以及它们拥有的所有测试 作为同一套件的一部分执行 我正在使用 jUnit 4 8 在 jUnit4 中你有这样的东西 RunWith
  • Dagger 2 没有生成我的组件类

    我正在使用 Dagger 2 创建我的依赖注入 几个小时前它还在工作 但现在不再生成组件 这是我创建组件的地方 public class App extends Application CacheComponent mCacheCompon
  • 我如何在java中读取二进制数据文件

    因此 我正在为学校做一个项目 我需要读取二进制数据文件并使用它来生成角色的统计数据 例如力量和智慧 它的设置是让前 8 位组成一个统计数据 我想知道执行此操作的实际语法是什么 是不是就像读文本文件一样 这样 File file new Fi
  • 干净构建 Java 命令行

    我正在使用命令行编译使用 eclipse 编写的项目 如下所示 javac file java 然后运行 java file args here 我将如何运行干净的构建或编译 每当我重新编译时 除非删除所有内容 否则更改不会受到影响 cla
  • Opencv Java 灰度

    我编写了以下程序 尝试从彩色转换为灰度 Mat newImage Imgcodecs imread q1 jpg Mat image new Mat new Size newImage cols newImage rows CvType C
  • 通过系统应用程序以编程方式静默安装 apk(无需 root)

    我有带有 android sharedUserId android uid system UID 1000 的系统级应用程序 设备未root INSTALL PACKAGES 权限包含在清单中 我可以静默安装下载的 apk 吗 我已经发现这
  • 如何使用mockito模拟构建器

    我有一个建造者 class Builder private String name private String address public Builder setName String name this name name retur
  • 通过电子邮件发送文本文件附件

    我正在尝试附加一个文本文件以便通过电子邮件发送 但每当我打开电子邮件应用程序时 它都会说该文件不存在 请帮助 Intent i new Intent Intent ACTION SEND i setType text plain i put
  • 使用 CXF-RS 组件时,为什么我们使用 而不是普通的

    作为后续这个问题 https stackoverflow com questions 20598199 对于如何正确使用CXF RS组件我还是有点困惑 我很困惑为什么我们需要
  • 如何将双精度/浮点四舍五入为二进制精度?

    我正在编写对浮点数执行计算的代码的测试 不出所料 结果很少是准确的 我想在计算结果和预期结果之间设置一个容差 我已经证实 在实践中 使用双精度 在对最后两位有效小数进行四舍五入后 结果始终是正确的 但是usually四舍五入最后一位小数后
  • 使用 svn 1.8.x、subclise 1.10 的 m2e-subclipse 连接器在哪里?

    我读到 m2e 的生产商已经停止生产 svn 1 7 以外的任何版本的 m2e 连接器 Tigris 显然已经填补了维护 m2e subclipse 连接器的空缺 Q1 我的问题是 使用 svn 1 8 x 的 eclipse 更新 url
  • 如何防止在Spring Boot单元测试中执行import.sql

    我的类路径中有一个 import sql 文件 其中包含一些 INSERT 语句 当使用 profile devel 运行我的应用程序时 它的数据被加载到 postgres 数据库中 到目前为止一切正常 当使用测试配置文件执行测试时 imp
  • Spring Rest 和 Jsonp

    我正在尝试让我的 Spring Rest 控制器返回jsonp但我没有快乐 如果我想返回 json 但我有返回的要求 完全相同的代码可以正常工作jsonp我添加了一个转换器 我在网上找到了用于执行 jsonp 转换的源代码 我正在使用 Sp

随机推荐

  • QSqlDatabase:如何避免“qt_sql_default_connection”仍在使用和重复连接相关警告?

    抱歉 如果这是一个微不足道的问题 但我一直在尝试构建一个使用的小型 uiQSQLITE作为数据库并使用QTableView以显示默认数据库文件的 4 列为例 我调试了各个方面的问题 改变了逻辑运算SQL并以更简单的方式重构构造函数 但错误仍
  • 解析分析不跟踪自定义事件[重复]

    这个问题在这里已经有答案了 我正在使用 Parse 来跟踪我的项目的一些自定义事件 在我的第一个版本中 我只是使用 PFAnalytics trackEvent Some event string This works 但后来我决定跟踪更多
  • 删除 C++ STL 中包含向量的动态分配对象

    我有课 class ChartLine protected vector
  • 将系统(文件)命令的输出存储为 C 中的字符串

    要获取文件的类型 我们可以执行命令 system file mime type b filename 输出显示在终端中 但无法使用该命令存储文件类型 char file type 40 system file mime type b fil
  • 可以使用自闭合 DIV 标签吗? [复制]

    这个问题在这里已经有答案了 可能的重复 自关闭标签在 HTML5 中有效吗 例如 div div 然后将使用 Javascript 来填充此 div 这是有效的 HTML 吗 不 HTML 4 x 没有任何自闭合标签的概念 它在 XHTML
  • 翻转滚动条 WPF

    你好 我正在构建一个显示从 0 到最大值的标尺的控件 0 值位于底部 最大值位于高于 0 的 y 值 最大值在我们滚动到它之前不可见 问题是 当0向下时 最大值向上 滚动条的0值向上 最大值向下 我希望滚动条能够翻转 我怎样才能做到这一点
  • 如何在 AngularFire 0.5.0 中从 .$on('loaded') 访问加载的数据

    我在 AngularFire 0 5 0 中使用 on 方法访问从 firebase 加载的数据时遇到问题 在回调中 当我注销范围的内容时 数据就在那里 但是当我尝试使用更深层次的数据时 我得到了undefined 也许我误解了您如何用这种
  • Bokeh 中的日期时间轴

    对于我的图 我想在散景中使用 日期时间 选项 如下所示 top figure width 900 height 500 x axis type datetime 我的 x 轴数据采用 datetime time 格式 x time date
  • Python Tkinter 可滚动框架类?

    我想做一个Tkinter class 基于答案在这里 这是一个Frame自动显示 隐藏Scrollbar根据需要围绕内容 我上面链接的答案非常适合我的需求 但需要注意的是 因为它不包含在class 它不可重复使用 我认为这会非常快速和简单
  • 在今天的特定小时和分钟创建 NSDate

    我怎样才能创建一个NSDate今天的日期和小时 分钟和秒分别为 5 0 和 0 IE 日期将为 07 02 2010 05 00 00 Gives us the current date NSCalendar gregorian NSCal
  • jplayer在一页中显示多个mp3文件链接

    我在页面中使用 jplayer 当单击链接时我想播放单击的链接 但是每次播放 test1 mp3 时 我该如何解决 代码如下 如果需要的话页面如下 http www dilyurdu com audio htm function liste
  • desc 附近的 SQL 语法错误 [重复]

    这个问题在这里已经有答案了 我得到的错误是 com mysql jdbc exceptions jdbc4 MySQLSyntaxErrorException 您的 SQL 语法有错误 检查与您的 MySQL 服务器版本相对应的手册 了解使
  • Codeigniter 中的选择框验证

    我是 Codeigniter 的新手 在选择框验证方面遇到一些问题 我想要在开始时默认选择值
  • 由于规范中的日期格式,gemspec 无效

    当我在 Gemfile 中包含我制作的 gem 时 感谢 Bundler 版本 1 0 12 然后我尝试像这样捆绑或 rake rake 我收到此错误消息 Invalid gemspec in Users zagzag rvm gems r
  • 顺利地将对象移动到目的地 Unity3D

    我一整天都在尝试从point A to point B顺利 所以我尝试了Lerp 朝着去 and 平滑阻尼但每次物体都会从A点消失并立即出现在B点 我尝试了在互联网上找到的所有解决方案 但得到了相同的结果 你能救我一命并帮我解决这个问题吗
  • 您的 Ruby 版本是 2.1.0,但您的 Gemfile 指定为 2.0.0

    在我的 Gemfile 中 我指定了 ruby 版本 2 0 0 ruby 2 0 0 但我的控制台告诉我我有 2 1 0dev ruby v ruby 2 1 0dev 2013 09 16 trunk 42951 x86 64 darw
  • 如何存储具有数十亿个节点和顶点的大型有向未加权图

    图的大小为数十亿个节点和数百亿个顶点 它将存储网页 URL 以及网页之间的链接 并将用于测试排名算法 任何语言都可以 但java是首选 到目前为止我找到的解决方案 neo4j 存储在排序的平面文件中 是的 我已经读过存储 访问有向图的最佳方
  • Ada 95:修改字典程序的输出

    我找到了这本词典作者 William Whitaker 在互联网上 我喜欢它的解析能力 但输出不适合我 问题 对我来说是挑战 给定输入形式 例如 audiam 程序将返回以下输出 纯文本 audi am V 4 1 PRES ACTIVE
  • 随机数生成器性能因平台而异

    我正在测试 C 中随机数生成器的性能 并发现了一些我不明白的非常奇怪的结果 我已经测试了 std rand 与使用 std minstd rand 的 std uniform real distribution std rand 计时代码
  • Android - 三星:使用配置活动创建小部件失败

    我构建了一个可以将小部件添加到主屏幕的应用程序 该小部件可与我的 Nexus 6P 和摩托罗拉 Moto G3 配合使用 对于三星手机 使用 S3 mini 4 1 2 S5 S6 6 0 1 进行测试 小部件根本不会添加 或者 Touch