Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在Android应用程序的每个屏幕上显示警告消息?

如何在Android应用程序的每个屏幕上显示警告消息?
EN

Stack Overflow用户
提问于 2019-03-25 14:38:56
回答 2查看 192关注 0票数 1

我有一个有几个屏幕的Android应用程序,如果出现错误情况,我希望显示始终可见的消息,如果错误情况消失,我希望禁止显示此消息。

“错误条件”是指设备无法将新信息传输到服务器,并且在成功传输后,错误条件会消失。信息必须清晰明了,这样无论终端用户在哪个屏幕上,都不会有人否认看到过它。

理想情况下,我正在寻找一个UI元素,它可以在出现错误时被放置,当没有错误时被删除,它将出现在所有屏幕上,在理想情况下可以由最终用户移动(这样最终用户可以决定此UI元素应该位于屏幕上的哪个位置),但不会被抑制(我不希望任何人隐藏消息并声称他或她没有看到它)。

我自然更喜欢用一段代码来创建这个UI元素,并允许它在应用程序中的所有屏幕上浮动,但如果绝对必要,我可以创建代码来添加一个存在于所有屏幕上的特殊错误条件UI元素。

有没有人有任何建议的UI元素,可以满足账单?

我建议(甚至实现了一个原型)当错误发生时生成通知,并在错误解决时关闭烤面包机通知,但这被认为是不可接受的,因为它不会产生永久警告,直到错误条件解决才会消失。我被告知,问题是最终用户可能会取消通知,然后继续工作,忘记他或她取消了通知,然后抱怨通知的后果(他们的订单从未通过,因为设备无法将其传输到服务器)。

我还建议每次设备传输失败时都发出警告,但这种解决方案也被认为是不可接受的,因为如果用户将设备带到没有互联网的地方,他或她将不得不不断地忽略通知,这将是恼人的,因此是不可接受的。通知必须是被动的(例如,不需要用户采取行动即可解除通知)。

我不想在互联网恢复之前关闭设备-即使不将数据传输到服务器,设备也可以继续将数据列表。我只想确保一个远程智能的人绝对不可能说他或她不知道他们的信息没有被发送到服务器。

值得注意的是,设备无法与服务器通信的最常见原因是设备没有连接到互联网。用户将设备带到没有互联网连接的非常偏远的地方,因此设备没有希望与服务器通信,直到它返回到设备被允许使用的较不遥远或具有无线互联网的某个地方。

EN

回答 2

Stack Overflow用户

发布于 2019-03-25 15:43:41

这可能不是最优雅的解决方案,但您可以

  • 在您的所有屏幕中都包含警告布局;它可以只是屏幕顶部/底部的TextView,也可以是角落中在对话/吐司中显示信息的小警报ImageView,也可以是更复杂的内容,具体取决于您的需要
  • 使用BaseActivity,当您的条件满足时,您的所有活动都将从该BaseActivity扩展
  • onResume of BaseActivity,显示/隐藏此布局<代码>H29<代码>F210

如果只是关于互联网连接,你也可以在BaseActivity中有一个BroadcastReceiver,它将显示/隐藏警告布局。

票数 0
EN

Stack Overflow用户

发布于 2019-03-25 17:54:32

我制作了一个toast库,它为我的一个项目预定义了消息。它有错误,警告,wifi警告等等。我把它建立在Toast小部件之上。ToastRect github link

或者,您也可以在对话框片段的基础上构建一些内容,这些内容只能由用户删除。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55340301

复制
相关文章
手把手教你使用Android studio生成正式签名的APK文件
点击Android studio 右侧工具栏的Gradle → 项目名 → :app → Tasks →android, 双击signingReport:
凌川江雪
2018/09/13
3.2K0
手把手教你使用Android studio生成正式签名的APK文件
Android APK 签名原理
Android APK 签名原理涉及到密码学的加密算法、数字签名、数字证书等基础知识,这里做个总结记录。
用户3596197
2018/10/15
3.5K0
Android Studio修改apk打包生成名称
variant.name软件名称,variant.versionName软件版本号,比如你的软件叫jianshu,版本号为1.0.0,则输出的软件名称就是 jianshu-v1.0.0.apk
Zachary46
2018/09/12
3.4K0
android studio签名
1.Build -> Generate Signed APK...,打开如下窗口 2.假设这里没有打过apk包,点击Create new,窗口如下 这里只要输入几个必要项 Key store p
xiangzhihong
2018/01/30
1.1K0
android studio签名
Android studio生成签名导打包的方法
如果你已经有了签名文件.jsk那么就选择③导入文件,这时①中就是文件路径,④是keystore的密码,⑤是别名,⑥是文件的密码。
程思扬
2022/01/10
1.3K0
Android studio生成签名导打包的方法
android apk 签名(平台和普通签名)
因为做了太多的终端项目,客户总会有自己的apk提供,这时候各种签名问题就来了,最近整理了一下相关知识,分享给大家。
全栈程序员站长
2022/09/06
5.2K0
android apk 签名(平台和普通签名)
Android APK 签名校验[通俗易懂]
非对称加密算法需要两个密钥:公开密钥(简称公钥)和私有密钥(简称私钥)。公钥与私钥是一对,如果用公钥对数据进行加密,只有用对应的私钥才能解密;如果用私钥对数据进行加密,那么只有用对应的公钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。
全栈程序员站长
2022/09/03
5.2K0
Android APK 签名校验[通俗易懂]
Android 对apk进行重签名和查看签名(window 和mac)及生成签名
生成签名文件:其实是有很多工具可以做到,这里不过是想用命令来生成 其命令如下:生成的签名默认在c盘根目录下 keytool -genkey -alias aaaa.keystore -keyalg RSA -validity 2000 -keystore newandroid.keystore 备注说明:-alias后面跟着的是别名(android.keystore) -keystore后面跟着的是具体的签名文件(及签名文件的命名–newandroid.keystore) 当使用这个命令生成后,会有个警告,不符合pkcs12标准,需要消除掉(也可以不消除),使用如下命名: keytool -importkeystore -srckeystore android.keystore -destkeystore newandroid.keystore -deststoretype pkcs12 将上面的android.keystore签名迁移到newandroid.keystore中,其各种参数不变。 截图如下
全栈程序员站长
2022/08/10
6.1K0
Android 对apk进行重签名和查看签名(window 和mac)及生成签名
Android APK 加固重新签名
通过 ./gradlew assembleRelease 命令打包,此时的apk没有加固,不符合安全需要
草帽lufei
2022/07/29
3.6K0
Android APK  加固重新签名
Android进阶-apk系统签名
除了直接使用signapk.jar签名外,还可以将签名文件生成keystore文件,然后给apk进行签名。 定位到签名文件和apk目录,然后输入如下命令: 1.
全栈程序员站长
2022/08/31
1.4K0
Android进阶-apk系统签名
android apk获取系统签名[通俗易懂]
一 准备材料 1 signapk包 1)通常在源码环境的build\tools\signapk目录下,包含如下文件:
全栈程序员站长
2022/06/24
2.8K0
android apk获取系统签名[通俗易懂]
查看Android apk签名信息
keytool -changealias -keystore my.jks -alias myalias -destalias otheralias
全栈程序员站长
2022/06/27
9900
android studio打包apk
对未来的真正慷慨,是把一切都献给现在。――阿尔贝·加缪《反抗者》
阿超
2022/08/16
1.2K0
android studio打包apk
Android 安全之APK签名过程
本篇是本系列预览的最后一篇,实则已经不属于开发者所考虑的范畴了,本系列提到的权限机制,签名细则,会在后续的文章中会一一描述。
开发者技术前线
2020/11/23
1.1K0
Android应用apk的程序签名
在调试应用程序时,Android SDK工具会自动对应用程序进行了签名。Eclipse的ADT插件和Ant编译工具都提供了两种签名模式——Debug模式和Release模式。 在开发和测试时,可以使用Debug模式。Debug模式下,编译工具使用内嵌在JDK中的Keytool工具来创建一个keystore和一个 key(包含公认的名字和密码)。在每次编译的时候,会使用这个Debug Key来为apk文件签名。由于密码是公认的所以每次编译的时候,并不需要提示你输入keystore和key密码。
用户3004328
2018/09/06
2K0
Android Studio 打包APK(详细版)
  做Android开发肯定对APK不陌生,你现在Android手机上所有的应用都是apk,只不过分为系统自带和第三方。
晨曦_LLW
2021/01/13
8.5K0
Android Studio greadle打包拷贝apk
用assembleRelease命令打包(前提是配置了signingConfigs)
Zachary46
2023/02/28
1.1K0
Android Studio greadle打包拷贝apk
点击加载更多

相似问题

如何删除带有颤振的Firebase存储文件?

112

如何在颤振中检索Firebase存储映像流?

12

无法在颤振中访问Firebase存储

22

如何在Firebase颤振中删除购物列表中的项目

11

使用颤振Firebase存储插件上传文件

32
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文