2015-02-09 84 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>這個網址。 如何捕捉在第二次例外呢? 我已經使用抓在我的代碼!我還可以嗎? 我是新的OOP。

+2

只需把該catch裏面另一個try/catch。 – 2015-02-09 09:38:29

+0

謝謝他的傢伙! – Thamaraiselvam 2015-02-09 09:42:47

+0

在啓動之前檢查活動是否存在。 http://stackoverflow.com/questions/6758841/how-can-i-learn-whether-a-particular-package-exists-on-my-android-device – JiTHiN 2015-02-09 09:42:52

回答

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 2015-02-09 09:49:44

-1

您可以使用

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

或者你也可以通過的事情是,你必須知道什麼是例外,這樣

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

做。