我有一台带有Android 5.0的华为P8用于测试应用程序.该应用程序需要在后台运行,因为它跟踪BLE区域.
我发现华为内置了一个名为Protected Apps的"功能",可以通过手机设置(电池管理器>受保护的应用程序)进行访问.这允许选定的应用程序在屏幕关闭后继续运行.
对华为来说很明智,但不幸的是,对于我来说,它看起来像是选择加入,即默认情况下应用程序已经关闭,你必须手动将它们放入.这不是一个showstopper,因为我可以在常见问题解答或打印中建议用户关于修复的文档,但我最近安装了Tinder(用于研究目的!),并注意到它被自动放入受保护的列表中.
有谁知道我的应用程序如何做到这一点?它是清单中的设置吗?这是华为为Tinder启用的东西,因为它是一个受欢迎的应用程序?
我创建了List<String> favId = [];变量来使用 SharedPreferences 存储项目的 ID,因此在重新启动应用程序后,收藏的项目 ID 不会丢失。这是我的 SharedPreferences 方法和最喜欢的 IconButton 的详细信息DoaPage.dart :
...
static List<String> favId = [];
getData() async {
SharedPreferences pref = await SharedPreferences.getInstance();
setState(() {
favId = pref.getStringList("id") ?? [];
});
}
void initState() {
super.initState();
getIds();
}
getIds() async {
favId = getData();
}
void saveData() async {
SharedPreferences pref = await SharedPreferences.getInstance();
pref.setStringList("id", favId);
}
...
IconButton(
icon: Icon(
favId.contains(doa.id.toString())
? Icons.favorite
: Icons.favorite_border,
color: favId.contains(doa.id.toString())
? Colors.red
: Colors.grey,
), …Run Code Online (Sandbox Code Playgroud) 我正在尝试将全新的.aab文件上传到Google Play控制台,但始终收到此错误:
上载失败
您上载了用密钥签名的APK或Android应用程序捆绑包,该密钥也用于签署交付给用户的APK。由于您已注册使用Google Play进行应用签名,因此在上传APK或Android应用捆绑包之前,请先使用新密钥对其进行签名。
我很沮丧,因为我在生成应用捆绑包时为此应用捆绑包生成了一个新密钥,即通过Android Studio中的Build> Generate Signed Bundle / APK ...菜单项,因此它是全新的密钥,其他应用未使用。
我什至尝试创建一个包含新密钥的全新密钥库,但始终会遇到相同的错误。这是别人遇到的怪癖吗?
在为该应用注册Google Play的应用签名时,我选择了“让Google管理和保护您的应用签名密钥(推荐)”选项,并且从我阅读的所有文档中,选择了用于对该应用进行签名的密钥与first成为“上传密钥”,因此看来我做得正确,但没有骰子。
有人对此有任何建议或经验吗?