从我的应用程序打开另一个应用程序出错

时间:2015-02-09 09:35:36

标签: java android android-intent exception-handling

我正在尝试从我的应用中打开另一个应用。 如果没有安装该应用程序,我的代码将打开市场。 我使用这段代码

PackageManager pm = getPackageManager();
try
{               
 Intent intent = pm.getLaunchIntentForPackage(package_name);
 startActivity(intent);
}    
catch(android.content.ActivityNotFoundException anfe)
{
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + package_name)));
}

如果设备中没有market,我应该打开 http://play.google.com/store/apps/details?id=<package_name>这个网址。 如何在第二次捕获异常? 我已经在我的代码中使用了catch!我可以再来一次吗? 我是OOP的新手。

2 个答案:

答案 0 :(得分:1)

try{
Intent intent = pm.getLaunchIntentForPackage(package_name);
startActivity(intent);
}
catch(Exception anfe)
{
        try{
             startActivity(new Intent(Intent.ACTION_VIEW,    Uri.parse("market://details?id=" + package_name)));
         }
        catch(Exception a){
        {
          startActivity(new Intent(Intent.ACTION_VIEW,    
          Uri.parse("https://play.google.com/store/apps/details?id=" + package_name)));
        }
    }

答案 1 :(得分:-1)

您可以使用

    try { 
//YOUR CODE
} catch( IOException | IOException2 ex) { 
  logger.log(ex);
  throw ex;
}

或者你也可以这样做

    try
{ 
    // YOUR CODE
}
catch (IOException example)
{
    // whateveryouwant
}
catch (Exception example)
{
   // whateveryouwant
}

问题是你必须知道什么是例外。