【发布时间】:2013-06-18 14:41:23
【问题描述】:
我已经有几年没有做过异常处理了,而且我似乎无法弄清楚我做错了什么。我有一个应用程序可以打开我的另一个应用程序,如果用户还没有另一个应用程序,我希望当前的应用程序重定向到 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 函数。任何帮助将非常感激。
【问题讨论】:
-
你能发布你的 logcat 异常吗?
-
删除
intent.addCategory(Intent.CATEGORY_LAUNCHER);后试试 -
getLaunchIntentForPackage() 如果“my.app.package”不存在则返回 null,因此您将收到 NullPointerException 用于在为 null 的意图上调用 addCategory(...)。跨度>
标签: android android-intent exception-handling