Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从我的应用打开另一个应用时出错_Java_Android_Android Intent_Exception Handling - Fatal编程技术网

Java 从我的应用打开另一个应用时出错

Java 从我的应用打开另一个应用时出错,java,android,android-intent,exception-handling,Java,Android,Android Intent,Exception Handling,我正在尝试从我的应用打开另一个应用。 如果没有安装该应用程序,我的代码将打开市场。 我使用这个代码 PackageManager pm = getPackageManager(); try { Intent intent = pm.getLaunchIntentForPackage(package_name); startActivity(intent); } catch(android.content.ActivityNotFoundException

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

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)));
}
如果
市场
不在设备中,我应该打开
http://play.google.com/store/apps/details?id=
此url。 如何在第二次捕获异常? 我已经在我的代码中使用了catch!我能再来一杯吗? 我是OOP新手

您可以使用

    try { 
//YOUR CODE
} catch( IOException | IOException2 ex) { 
  logger.log(ex);
  throw ex;
}
或者你也可以这样做

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

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

只需在该捕捉内放置另一个try/catch即可。谢谢,伙计,它起作用了!启动活动之前,请检查该活动是否存在。
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)));
        }
    }