java - 部分安卓手机无法在设置中打开“关于设备”页面?
问题描述
运行以下代码时,某些 Android 手机不执行任何操作。它应该在设置中打开“关于设备”页面。
例如,我知道它对运行 Android 10的 Huawei Y9 Prime 2019 没有影响。
startActivity(new Intent(Settings.ACTION_DEVICE_INFO_SETTINGS));
发生此问题时,防止此问题的最佳方法是什么?(在我的应用程序中,我打开此页面以要求用户在那里执行特定操作)
解决方案
用于PackageManager.resolveActivity()
检查是否Activity
存在。如果返回null
,则没有与 匹配的活动,Intent
您必须以另一种方式引导客户进行设置:
Intent intent = new Intent(Settings.ACTION_DEVICE_INFO_SETTINGS);
ResolveInfo resolveInfo = getPackageManager().resolveActivity(intent, 0);
if (resolveInfo == null) {
// help customers by describing how to get to the device info settings
} else {
startActivity(intent);
}
推荐阅读
- python - R optim 与 Scipy 优化之间的差异:Nelder-Mead
- python - 在Python中将变量分配给json数组数据
- prolog - Prolog 在目标重新排序后不会终止
- asp.net - 注册 WCF Web 服务会破坏我的 ASP.Net HTML Web 表单路由
- maven - 如何迁移基于 Maven 的 Web 应用程序 POM 以使用 Gradle?
- python - 导入pytorch时“找不到函数'AddDllDirectory'”
- c++ - MFC CEdit 不会接受键盘输入
- javascript - 使用 Context Provider 包装 React Native 应用程序
- sql - 从 MSSQL 查询远程 oracle CLOB 数据
- sql - 随机化字符串中的整数