问题标签 [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.

0 投票
0 回答
554 浏览

java - 后台服务不适用于 MIUI 9.6 Redmi 4x

我一直在整个网络上搜索,了解为什么我的后台服务无法正常工作。当我关闭应用程序时,服务会被终止,而不会从 Brodcast 接收器中回调。本指南:https ://www.quora.com/How-do-I-keep-an-app-running-in-the-background-in-MIUI显示了三种不同的方法,但它们都不适合我。我确信该应用程序运行良好,因为它可以在模拟器上正常工作,相同的 API 24,并且它也可以与华为一起工作,同样的 API。

XML

服务

0 投票
1 回答
1893 浏览

android - Admob 测试 ID 不断变化

最近我买了一部新手机(小米米 A2),当我尝试在上面测试我的应用程序时发生了非常奇怪的事情。Admob 测试 ID 不断变化。我像往常一样从日志中复制 ID(“使用 AdRequest.Builder.addTestDevice("XXXXXXXX") 在此设备上获取测试广告”)。我将它添加到 AdRequest.Builder。我运行该应用程序,起初一切正常,我得到了测试广告,但第二天 admob id 发生了变化,我得到了真实的。今天我得到了 3 个不同的 id(每次我重新启动 Android Studio 时都会发生)。我的其他手机永远不会发生这种情况。

我不知道它是否相关,但有时我的设备被识别为小米 Mi A2,有时它只显示 null(XXXX)。当它为空时我无法获得任何日志,但我可以正常安装应用程序。重新启动 Android Studio 有助于解决这个问题。

什么可能导致这种情况?这是 Android Studio 还是我的手机的问题?

编辑:我想我找到了原因。我的新设备具有 Android 8.1,显然 ANDROID_ID 对于每个应用程序都不同,如果签名密钥不同,则可以更改https://developer.android.com/about/versions/oreo/android-8.0-changes

0 投票
4 回答
21126 浏览

testing - 如何为 Android Studio 创建小米模拟器?或者任何其他方式在小米模拟器上测试应用程序?

我想为小米设备测试我的 Android 应用程序。

我怎样才能为此创建一个模拟器?

我已经尝试过androidgenymotionbluestack,但我还没有找到任何适用于小米设备的。

0 投票
1 回答
649 浏览

android - Android Studio 将设备视为 null

在 Ubuntu Android Studio 上,设备显示为空。每次打开笔记本电脑时,我都需要运行以下控制台命令来添加权限:

输入我的密码,然后重复:

注意我使用的是小米手机。

有没有办法解决这个权限问题,所以我不必每次都这样做。

0 投票
2 回答
3183 浏览

android - Android杀死小米、华为等后台服务

我需要让我的服务不可阻挡。我试图在启动命令上返回 START_STICKY,它在模拟器上运行良好,但是当从我的设备(小米 mi5s,Android 7)上的任务管理器中删除应用程序时,它不会再次创建自己。

编辑:我授予了自动启动权限并禁用了应用程序的电池保护规则。

编辑:我也尝试使用前台服务。然而,它也被杀死了。。

日志猫

我怎样才能做到这一点?

0 投票
1 回答
2022 浏览

java - 服务开启时如何强制应用退出省电模式?

预期的行为是应用程序将在其处于 ON 状态时一直运行。当应用程序一段时间不活动时,某些手机会将应用程序置于后台模式。我希望应用程序一直运行,即使它处于待机模式(待机模式意味着当我们按下主页按钮时,应用程序将进入后台。它会运行一段时间)。

我找到了以下代码并尝试了

即使在使用代码后,默认状态也是省电模式(推荐)

一旦打开应用程序,我希望应用程序处于无限制模式,有什么解决方案吗?

0 投票
1 回答
376 浏览

android - 如何使 AlertDialog 显示在屏幕边缘附近

AlertDialog在大多数安卓设备上都能正常工作。对话框从底部显示其布局,并绘制在屏幕底部边缘附近。但是,在小米米 8 设备上,对话框悬停在底部边缘上方。该设备具有圆角屏幕角,我认为对话框试图避免它们。然而,这在美学上看起来非常糟糕。如何创建对话框,使其显示在所有设备的屏幕边缘附近,而不管它们的屏幕角落如何?

不幸的是,stackoverflow 充满了关于制作圆角对话框的问题,我找不到任何有用的东西。最接近的是关于状态栏的这个问题,但那里的建议并没有改变AlertDialogMi8 上的对话行为。

为了展示这个问题,我做了一个最小的示例项目在提交 763bc62ff9320227b806260e861b63d48cc2347d时,以下屏幕截图显示了 Mi8 上的问题,其中全屏模式使对话框漂浮在屏幕边缘上方,而且顶部的覆盖似乎也做了一些奇怪的事情。

全屏浮动警报对话框与正常显示

小米 Mi8将 AlertDialog到屏幕角落上方,因为 AlertDialog 被声明为浮动。将样式更改windowIsFloating = false为对话框后,将显示在屏幕边缘附近:

不幸的是,此解决方案适用于小米,但不适用于另一款三星 SM-J530F,它在动画期间显示黑条:

三星SM-J530F黑条动画

为了避免动画中出现黑条,我找到的唯一方法就是制作windowFullScreen = true. 但是,当这个值设置为 true 时,小米会做出一个奇怪的状态栏动画:

在此处输入图像描述

有没有办法让这个简单的动画在所有安卓设备上保持一致,而不必求助于几个硬编码的条件?

更新:正如建议的那样,我没有为我在提交 403808dcfb5d3fae52c51eb1b21593b79065ada7中更改的对话框设置动画,而是让对话框不设置动画,并通过约束布局集自行移动按钮:

[!https://gitlab.com/gradha/stackoverflow53343622/wikis/uploads/8e7a47d939677277459619db6af27de3/mi8_buttons.gif]

在此处输入图像描述

0 投票
4 回答
2610 浏览

android - NullPointerException: int android.widget.Editor$SelectionModifierCursorController.getMinTouchOffset()

这是一个非常奇怪的小米设备的操作系统异常。即使我确实有 Fabric 提供的日志,堆栈跟踪也不会引用我的任何代码。

下面是 crashalytics(Fabric) 中报告的崩溃详细信息,

  • 21K 崩溃

  • 小米设备上的所有崩溃

  • 在 Android OS 版本 6、7 和 8 上崩溃

崩溃日志:

类似参考:

https://issuetracker.google.com/issues/37127697

带有牛轧糖的 java.lang.NullPointerException

也在小米官方论坛上提问http://en.miui.com/forum.php?mod=viewthread&tid=4595164

请尽快提供任何可行的解决方案。因为用户一定不会对这些崩溃感到满意。

提前致谢。

0 投票
2 回答
1271 浏览

android - 在中文 ROM 中运行前台服务

我做了一个前台服务来不断扫描我周围的 BLE 设备。出于某种原因,它似乎可以在我的库存 android 设备 Google 像素和三星 S9+ 上完美运行。

但是最近我用中文ROM(Oneplus 6T,小米Poco F1)测试了该应用程序,前台服务似乎在几分钟后就被杀死了。我已经使用 workmanager 重新启动服务,但应用程序没有重新启动,而是收到了应用程序的错误报告。

同样在android 8.0(小米红米3s prime)以下的中文ROM设备上,简单的服务不起作用,我还需要在那里使用前台服务。有什么办法可以解决这个问题吗?

0 投票
0 回答
64 浏览

android - 在 MI 或小米手机 android 上获取 mac 地址

我正在使用以下代码获取移动设备的 mac 地址,并且它在 android 设备上运行良好。我从 stackoverflow 获得的获取 mac 地址的代码。但是在 MI 或小米手机上获取 mac 地址不起作用..请指导。下面是我的代码。用户通过输入他的手机号码来访问该应用程序,并将在 url 中发送 mac 地址