防止 Android 设置中“匹配的 Activity 可能不存在”
-
21-12-2019 - |
题
大部分活动操作(用于启动各种设置活动) 设置 类带有警告:
在某些情况下,匹配的活动可能不存在,因此请确保防范这种情况。
那么我该如何防范呢?
try {
final Intent i = new Intent(Settings. ACTION_WIRELESS_SETTINGS); // say
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); // not sure if needed
startActivity(i);
} catch (Exception e) { // what should I catch here
// I would hate to catch Throwable, but should I ?
}
如果我读 这 正确,例如抛出运行时异常(NPE)。我很想使用更具体的东西,比如 ActivityNotFoundException
- 但这就足够了吗?
解决方案
如果我正确地阅读了此内容,例如会抛出运行时异常(NPE)
不,那是其他问题。这 Intent
显然有效,因为崩溃来自“设置”本身,而不是调用的应用程序 startActivity()
.
我很想使用更具体的东西,比如 ActivityNotFoundException - 但这足够了吗?
它应该是。
如果您担心这一点,或者宁愿主动采取行动,而不仅仅是打电话 startActivity()
,第一次使用 PackageManager
和 resolveActivity()
. 。如果返回 null
, ,没有匹配的活动 Intent
, ,你应该尝试别的东西。
不隶属于 StackOverflow