问题标签 [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 - 致命异常:java.lang.SecurityException 无效的 API 密钥(谷歌地图)
我刚刚在 Firebase Crashlytics 上收到了奇怪的错误代码。
乍一看,问题看起来像错误的 api 密钥。我检查了双api 密钥是否正确,这个问题的奇怪之处在于它只发生在面板上安装 Android 9 的小米设备(Mi 5s、Mi A1)。我从未在我的设备(Samsung J7)或任何其他设备上遇到过这个问题。我检查了文档,没有发现任何有用的信息。
这是关于美国制裁还是我错过了什么?谷歌地图不再在小米设备上运行了吗?或者它只是地图或游戏服务库中的一个错误?
我的应用程序中的谷歌地图实施没有问题。我刚刚使用了谷歌的文档,它运行良好。目前,com.google.android.gms:play-services-maps:17.0.0和com.google.gms:google-services:4.3.0正在项目中使用。清单中正确定义的 API KEY。但是错误出现在面板中。
PS:我不知道这是否相关,但我的应用程序仅在土耳其使用。我们可以假设设备国家是 TR。
更新:现在我收到了新的报告,显然这个错误发生在许多设备上,而不仅仅是小米。
android - 安装没有成功。无法安装应用程序。安装失败,原因是:'null'
我正在尝试在 Android Studio 3.5 上运行我的应用程序。在手机上安装应用程序时会引发错误。
安装没有成功。无法安装应用程序。安装失败,原因是:'null'
真机:小米红米S2
java - 意外按下不允许安装应用程序并记住 - Android Studio
当我使用我的个人设备在 Android Studio 中运行我的应用程序时,会显示一条通知,我不小心按了“记住操作”,然后按了“不允许”。现在每次我尝试运行该应用程序时,我都会收到一个 Android 错误,上面写着:
19:35 会话“应用程序”:安装未成功。无法安装应用程序:INSTALL_FAILED_USER_RESTRICTED 重试
我尝试重新连接 USB 数据线,但它不起作用。
有人知道如何撤消此操作吗?
android - 小米设备上的通知设置
我目前正在开发适用于 Android 的聊天客户端。当我创建频道通知时(所有通知只有一个,我做错了什么吗?)我将优先级设置为 HIGH,通知就像一个魅力。在小米设备上,特定应用程序的通知设置与标准设置有很大不同。单个应用程序通知的设置是:
- 显示通知
- 浮动通知
- 锁屏通知
- 声音
- 振动
- 通知灯
因此,当我按照 Android 指南创建频道时,我的通知频道创建时只有 1 和 5 处于活动状态,结果是,如果用户未从设备设置中正确设置通知,则通知在小米设备上无用。如果这是标准行为,我可以接受这种行为,但我尝试将 Telegram 安装到小米设备,并且所有这些设置都默认启用。我的问题是:他们是如何做到这一点的?当我创建通知频道时,如何默认启用所有这些设置?
android - MIUI 10.3.7 版本未运行后台服务
MIUI 10.3.7 版本的小米 PocoPhone f1 中,应用处于 appkill 状态时后台服务不运行。谁能帮我解决这个问题??
我已经使用了应用程序自动启动的权限并删除了我的应用程序中的电池限制。
android - 为什么小米设备未激活请勿打扰?
我正在使用以下代码设置中断过滤器:
它在每台设备上都运行良好,但由于某种原因,它不适用于使用 Android 9的小米设备。在这些设备中未激活“请勿打扰”模式。它保持不变。如果我问设备当前的中断是什么,它会以 5 的值回答。这是 Android 开发人员中的一个未知且未记录的值,如此处所述。
iCurrentInterruption 的值为 5。以下都不是:
android - 小米设备正在停止前台服务
我们有一个使用前台服务几乎永远运行的应用程序,同时使用系统托盘上的通知,这是正常的初始化。该应用程序仅依赖于此服务。在我们测试的每台设备上,即使任务被删除,服务也会继续运行,但在小米设备上,从最近刷卡后,它会突然停止,然后根据 ActivityManager 决定重新打开服务的方式再次启动。我们从小米设备(本例为小米 MI9)获取日志,例如:
Scheduling the restart of the crashed service: com.example.myapp/.MyService in 1000ms
这不应该发生,但确实发生了。每次我们打开应用程序并从最近关闭它时,该1000ms
部分都会不断增加4000ms, 16000ms, 64000ms
,依此类推。我认为它没有限制,而且 64 秒对于重新启动对应用程序至关重要的前台服务来说已经太长了。所以,我正在寻找将我们的应用程序添加为异常或其他东西的方法,但我发现的唯一内容是:https ://dontkillmyapp.com/xiaomi
如果应用程序被最近屏幕上的X按钮杀死,那么情况会更糟,因为我注意到该设备会杀死所有服务并安排它们在 10 秒的间隔内重新启动。我认为我们的计划在 3 小时后开始,这破坏了应用程序的目的。
我们当前使用的解决方案是警告用户有关此问题并重定向到此链接,以便将我们的应用程序添加到异常中,启用自动启动等。但是,我们知道几乎没有人会这样做,因此我们正在寻找一种可以通过编程方式实现的解决方案。
一段小代码演示了我们如何将服务注册到清单以及我们如何启动它。(演示比原来简单,但描述了主要逻辑。)
清单部分:
启动服务部分:
发布通知部分:
我认为一切都正确完成,因为这只发生在小米设备上,但我们找不到保持这项服务活跃的解决方案。有没有其他人遇到同样的事情?我们应该如何进行才能使我们的服务不死?感谢所有的帮助。
android - 小米手环 2 无法读取心率
我试图从我的小米手环 2 中读取心率值。为此,我尝试使用和调整来自https://github.com/android/connectivity-samples/tree/master/BluetoothLeGatt的 BluetoothLeGatt 项目。
到目前为止,我能够调查附近的 BLE 设备。之后我选择了小米手环2,我可以成功列出这台设备的所有服务,包括心率服务。在心率服务中,我找到了我正在寻找的特征心率测量。
我试图从这个特征打印数据但没有成功。即使我做了一些细微的更改,我也无法在日志中看到任何数据。
这是我的 LEScanCallback(稍作改动)
我不明白 onCharacteristicRead() 或 onCharacteristicChanged() 是否被调用。我相信这是因为 gatt.readCharacteristic(characteristic) 是 FALSE 并且 onDescriptorWrite() 函数中的状态是 3 (GATT_WRITE_NOT_PERMITTED)。
有人可以帮我解决问题吗?我开始失去所有希望了...
android - 在小米设备上恢复 NotificationListernerService
我一直在我的小米设备上测试我的 NotificationListenerService 相关应用程序,发现一旦应用程序关闭,服务也会被杀死或处于非活动状态,我发现的解决方法是使用如下 URL 的 togglecomponent 方法:https: //gist.github.com/xinghui/b2ddd8cffe55c4b62f5d8846d5545bf9。
但是在这个例子中,我发现每次切换组件时都会创建多个客户端,它们都在监听通知,因此这会导致监听服务类预期的任务操作成倍增加。如何将创建的客户端数量限制为一个,或者有没有办法使用切换组件恢复旧客户端?或恢复 NotificationListenerService 组件的任何其他替代方法,谢谢。