gpt4 book ai didi

android - ActivityNotFoundException 处理

转载 作者:行者123 更新时间:2023-11-29 15:22:16 26 4
gpt4 key购买 nike

我已经有几年没有做过异常处理了,我似乎无法弄清楚我做错了什么。我有一个应用程序可以打开我的另一个应用程序,如果用户还没有其他应用程序,我希望当前应用程序重定向到 Play 商店。现在,如果未安装该应用程序,该程序将强制关闭。我当前的代码是:

try{
Intent intent = new Intent();
PackageManager manager = getPackageManager();
intent = manager.getLaunchIntentForPackage("my.app.package");
intent.addCategory(Intent.CATEGORY_LAUNCHER);
startActivity(intent);
}
catch(ActivityNotFoundException activityNotFound){
Intent playStoreIntent = new Intent(Intent.ACTION_VIEW,
Uri.parse("market://details?id=my.app.package"));
startActivity(playStoreIntent);
}

我有一种感觉,我正在做一些非常愚蠢的事情并且误用了 catch 函数。任何帮助将非常感激。

最佳答案

试试这个代码。评论中给出的解释

String packageName = "my.app.package";
try{
Intent intent = new Intent();
PackageManager manager = getPackageManager();
intent = manager.getLaunchIntentForPackage(packageName);
//if application not installed, intent to get launcher will be null
if(intent != null) {
intent.addCategory(Intent.CATEGORY_LAUNCHER);
startActivity(intent);
}else{
//launch play store with package name
Intent playStoreIntent = new Intent(Intent.ACTION_VIEW,
Uri.parse("market://details?id=my.app.package"));
startActivity(playStoreIntent);
}
}
catch(ActivityNotFoundException activityNotFound){
// to handle play store not installed scenario
Intent intent = new Intent(Intent.ACTION_VIEW, Uri
.parse("http://play.google.com/store/apps/details?id=" + packageName));
startActivity(intent);
}

关于android - ActivityNotFoundException 处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17235701/

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