问题标签 [xiaomi]
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视图,如何解决?
所以,我在这里找到了很多关于状态栏和导航栏问题的答案。我目前正在开发的应用程序必须放在状态栏后面,但不能放在导航栏后面,因为它使用 BottomBar 作为主导航。
因此,我尝试了设置<item name="android:windowTranslucentNavigation">true</item>
,并将其设置为false
仅更改控件的色调,内容仍然在其后面绘制。
删除window.setFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS, WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS)
会禁用状态栏和导航栏后面的内容。所以不去...
切换android:fitsSystemWindows="true"
并不能解决问题...
我试图检测导航栏是否可见,但到目前为止我没有成功,因为即使不可见,它resources.getIdentifier("navigation_bar_height", "dimen", "android")
仍然会返回一个值,就好像导航栏正在显示一样。并且该属性config_showNavigationBar
仅在设备具有物理键时才有效(例如三星)
我正在测试 Moto X4 (Pie) 和 Xiaomi Note 6 Pro (Oreo),通过手势导航来隐藏导航栏。
打印(小米顶部,X4 底部):
1)开箱即用的行为:
2) 获取 NavBar 高度并将自定义边距应用于 BottomBar 时:
3) 启用手势模式时的不良行为:
4) 启用手势模式时的预期行为:
android - 如何使用通知图标修复小米特定的 RemoteServiceException?
我们有很多特定于 Android 6 和 7 上的小米手机的崩溃:
我在网上找到了很多类似的崩溃报告和文章。这里有几个:
如何修复:android.app.RemoteServiceException:从包发布的错误通知 *:无法创建图标:StatusBarIcon
https://medium.com/@Miqubel/the-story-of-a-hard-to-fix-bug-ac6ed819cb49
但不同之处在于,我们仅在小米手机(Android 6 和 7)上存在这些问题,并且可能不会在更新期间出现,因为同一用户在同一版本中多次崩溃。
有趣的是,我在网上找不到关于这个特定案例的任何信息,而且我们周围没有任何小米手机。
我将通知设置为:
我们也有 Facebook 通知,它们必须以类似的方式设置,但在不同的 Notification 类上。我不知道这是否相关。除了在制造商和 Android 版本检查中包装 setSmallIcon 和/或 setLargeIcon 方法之外,是否有人遇到过这个问题或有任何建议来解决这个问题?
编辑:我找不到解决方案,但这里有一些新想法:
我们发布了一个新版本,但从通知中排除小米用户没有帮助!现在我认为问题是由 ActivityThread.java 中的自定义代码引起的。MIUI 可能会在某些事件上从此处触发通知。这里的库存 Android 中有几十个事件,但没有一个会触发通知。但是我们的图标出了点问题,所以它们崩溃了。
但是我们的图标有什么问题?我们有一个 ic_notification,它可能不用于此目的。另一方面,ic_launcher 是一个 mipmap。也许是这个?但我找不到关于小米和 mipmap 的任何问题。
崩溃报告总是在多个应用版本中提到相同的资源 ID:0x7f0200ad。出于某种原因,这很特别吗?如何对我们的应用程序进行逆向工程以获取资源名称?
编辑2:
- 我用apktool对app进行了逆向工程,但是resource id不在public.xml中,貌似和R.java是等价的。我们的 ic_notification 和 ic_launcher 在列表中具有不同的 id。那么这是MIUI找不到的系统资源吗?
编辑 3:
- 其他人有同样问题的第一个证据:
https://xiaomi.eu/community/threads/miui-9.47247/
- 在波兰论坛上找到的临时解决方案:
https://pl.forum.elvenar.com/index.php?threads/problem-z-uruchomieniem-23566.3348/
最后一条评论翻译为:“我们对小米的问题有一个临时解决方案,请尝试在手机设置中禁用来自 Elvenar 应用程序的强制通知。重新启动应用程序后,错误应该会消失。”
编辑4:
我们正在使用 ShortcutBadger(版本 1.1.13)。这里它说我们应该对小米徽章使用不同的方法:
https://github.com/leolin310148/ShortcutBadger/wiki/Xiaomi-Device-Support
在 1.1.13 版本之后,他们删除了对小米的默认支持,您必须使用上述链接中的通知。
其他受影响的人使用这个吗?
android - 阻止用户强制停止我的应用程序
关于Android(6.0到最新版本)
我正在开发一个应用程序,我们希望用户一旦接受所有条款,就不能终止进程或强制停止应用程序。老实说,我现在完全迷失了,因为在最新版本的android上,特别是像小米这样的一些品牌,我们遇到了很多麻烦,我们现在不知道该怎么做。
在不可能的情况下,至少可以在用户杀死应用程序时收到警报吗?
谢谢!!
arcore - 不支持 CPU 镜像访问
我正在寻找第一次尝试 ARCore 开发的 Android 设备。我盯着Pocophone,但在兼容的 ARCore 设备列表 ( https://developers.google.com/ar/discover/supported-devices ) 中,所有小米的设备都有一条评论说“不支持”用于 CPU 映像访问“。
我发现了任何关于这意味着什么将如何限制我和影响我的信息。
任何人都可以解释这个限制吗?
android-studio - 无法在 android studio 中使用我的小米米 A1
我有小米 Mi A1,我在 Android Studio 中开发,我想在我的手机上运行我的应用程序,所以我打开了我的开发人员选项和 USB 调试,但我仍然无法在“连接设备”列表中找到我的手机想从 android Studio 运行我的应用程序。
我在这里缺少什么?
android - 不充电或屏幕关闭时,定期工作管理器未在 android pie 上显示通知
我有一个应用程序应该每 2 小时显示一次通知,如果用户已经对通知采取了行动,应该停止。由于后台服务现在已经成为历史,我想使用 WorkManager ( "android.arch.work:work-runtime:1.0.0-beta01"
) 来做同样的事情。
我的问题是,虽然工作经理在应用程序运行时成功显示了通知,但在以下情况下它不会一致地显示通知(我将时间跨度从 2 小时减少到 2 分钟以检查一致性):
- 当应用程序从后台被杀死时。
- 设备处于屏幕关闭状态。
- 状态设备处于拔出状态(即未充电)。
通过一致性,我的意思是通知在给定的时间跨度内至少显示一次。在 2 分钟的时间跨度内,通知的频率从每 4 分钟一次变为完全不显示任何通知。2 小时时间跨度(我真正想要的时间跨度),已经 4 小时,我没有收到任何通知。这是我用来调用 WorkManger 的代码:
这是工人阶级( 如果他们可能是错误 的showNotif(..)
,我也可以发布):setNotificationChannel(...)
我正在使用带有 Android Pie(SDK 28)的小米 miA2 androidOne 设备。还有一些其他的事情让我感到困扰:
- 我可以做些什么来知道我的 WorkManager 是否正在运行?其他只需等待 2 小时并希望收到通知。我实际上尝试过类似的方法,让我的手机连接到电脑并不时检查 android studio 的 logcat。它确实在实际调用工作人员时运行所有日志,但我认为这不是测试它的正确方法,或者是吗?
- 在上面的代码中,每次打开应用程序时都会
setDailyNotifier()
调用。onCreate()
是不是错了?不应该有一些唯一的 idWorkRequest
和一个检查函数,比如WorkManger.isRequestRunning(request.getID)
它可以让我们检查一个工人是否已经在给定的任务上?如果这是一个例子AsyncTask
,那么男孩我们会一团糟。
我还在这里检查了@commonsware 关于屏幕关闭时唤醒锁的回答,但我记得工作经理确实在可用时在内部使用警报管理器。那么我在这里错过了什么?
android - 无法从应用程序中删除旧图标 - 为什么?
我刚刚更新了一个 Android 应用程序。
我更改了图标和徽标。
我从手机中删除并安装。应用程序图标是新的。标志也是新的。
但是当我点击(我的手机是小米 5 plus)显示打开应用程序按钮时,我看到我的应用程序带有旧图标!
https://cdn57.androidauthority.net/wp-content/uploads/2015/03/icon-pack-manual-edit.png
在图片中是这样的。
当我在我的应用程序上单击编辑,然后单击徽标时,我会看到“编辑图标”屏幕。旧图标的 2 个图标的底部。
它的底部是“内置图标”。在它的底部“本地图片”
当我单击内置图标时,我会看到来自其他应用程序的图标,并且还会看到旧图标!但是看不到新图标!
但在应用程序菜单中,它带有新图标。
在manifest
,我正确地把我的形象:
请告诉我如何从手机中删除该图标?
builtin icons
从手机中删除应用程序后,单击编辑后我会从另一个应用程序中查看。没有旧应用程序的图标。所以,新的应用程序正在带来它,但如何呢?我已经png jpg
从res
. 旧图标从何而来?
android - Delphi - 小米 Pocophone F1 上的 Android 开发
给自己买了一台小米 Pocophone F1。但是,我无法在手机上编译 android 应用程序,因为它不会让我这样做。
看来我必须明确指定安装媒体的来源,而 Delphi 不在列表中:)
那么,有人知道我必须做什么才能使编译器正常工作吗?
USB 调试已打开,并且可以看到开发人员选项。
android - 从小米的最近列表中刷出后服务未重新启动
我有一个从 Manifest 启动的服务,该服务在第一次启动时运行良好。它显示 2 个正在运行的应用程序 - 1 个进程和 1 个服务。但是当我从最近的任务列表中刷出我的应用程序时,它不会在小米设备上再次自动启动我的服务。它在联想等其他设备中成功自动启动。
这是我的服务课程:-
我正在用 java 代码(不在清单中)注册我的广播接收器。我使用服务类来注册广播接收器。
显现 :-
我还在小米设备中进行了以下更改:-Settings->Battery->Manage Apps Battery Usage
仍然无法正常工作。
请帮助解决适用于此设备的任何解决方案。