2015-02-09 2 views
-1

Я пытаюсь открыть другое приложение из своего приложения. Если это приложение не установлено, мой код откроет рынок. я использую этот кодОшибка при открытии другого приложения из моего приложения

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> этот URL. как поймать исключение во второй раз? Я уже использовал catch в своем коде! может я еще один? Я новичок в ООП.

+2

Просто поместите еще одну попытку/поймать внутри этого улова. –

+0

Спасибо, чувак, он работает! – Thamaraiselvam

+0

Проверьте, существует ли действие до его запуска. http://stackoverflow.com/questions/6758841/how-can-i-learn-whether-a-particular-package-exists-on-my-android-device – JiTHiN

ответ

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))); 
     } 
    } 
+0

он отлично работает – Thamaraiselvam

-1

Вы можете использовать

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

Или же вы можете сделать по этому пути

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

Дело в том, что вы должны знать, что является исключением.

Смежные вопросы