gpt4 book ai didi

java - Android PackageManger.getLaunchIntentForPackage() 没有抛出记录的异常

转载 作者:搜寻专家 更新时间:2023-11-01 08:03:31 35 4
gpt4 key购买 nike

我尝试从 PackageManager 获取第三方包的启动 Intent 。根据文档 ( http://developer.android.com/reference/android/content/pm/PackageManager.html#getLaunchIntentForPackage(java.lang.String) ),如果在系统上找不到给定的包名称,它会抛出一个 PackageManager.NameNotFoundException,如果没有,它会返回 null包含启动 Activity 。

当我 try catch 异常时,出现编译错误:

    PackageManager manager = getPackageManager();
try{
Intent launchAppIntent = manager.getLaunchIntentForPackage("somePackageName");
//...
} catch (PackageManager.NameNotFoundException exception){

}

java: exception android.content.pm.PackageManager.NameNotFoundException is never thrown in body of corresponding try statement

我认为一种可能性是该方法的行为发生了变化,它总是返回 null 而不是抛出异常。但是,我还应该在调用周围包装一个 try block 吗?

我应该如何着手解决这个问题?

我目前正在针对 Android 4.2.2 进行构建。

最佳答案

文档已过时。

“throws NameNotFoundException”已从 Android 1.6 中的方法中删除(API 级别 4)。

ApplicationPackageManager.java 中的当前实现从 Android 4.0 开始也不会抛出任何异常。

您可以安全地删除 try catch。

P.S.:我知道,答案有点延迟,但我偶然发现了同样的问题,所以为什么不在这里分享。

关于java - Android PackageManger.getLaunchIntentForPackage() 没有抛出记录的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17648446/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com