2012-12-18 61 views
-1

我想創建一個功能的應用程序:當我點擊按鈕時,我安裝將運行一個應用程序(例如this app運行指定應用程序,它安裝在手機

我寫了使用getInstalledApplications代碼(按鈕AUPEO)但不知道如何調用應用程序,請幫我

aupeo.setOnClickListener(new View.OnClickListener() { 

     public void onClick(View v) { 
      final PackageManager pm = getPackageManager(); 
      List<ApplicationInfo> packages = pm.getInstalledApplications(PackageManager.GET_META_DATA); 

      for (ApplicationInfo packageInfo : packages) { 

       Intent intent = pm.getLaunchIntentForPackage(packageInfo.packageName); 
       if (intent != null) { 
        intent.addCategory(Intent.CATEGORY_LAUNCHER); 
        startActivity(intent); 
       }   
       } 


     } 

    }); 
+0

這是什麼意思? – phucloi89

+0

請訪問提供的鏈接。所有的指示都在那裏。 –

+0

好吧,我正在閱讀:)你能幫我解決這個問題嗎? – phucloi89

回答

0

嘗試通過檢查,如果包名稱中包含您的應用程序包的名稱或不:

aupeo.setOnClickListener(new View.OnClickListener() { 

public void onClick(View v) { 
    final PackageManager pm = getPackageManager(); 
    List<ApplicationInfo> packages = 
        pm.getInstalledApplications(PackageManager.GET_META_DATA); 

    for (ApplicationInfo packageInfo : packages) { 
    if(packageInfo.packageName.toLowerCase(). 
        contains("tunein".toLowerCase())){ 

    Intent intent = 
       pm.getLaunchIntentForPackage(packageInfo.packageName); 
     if (intent != null) { 
     intent.addCategory(Intent.CATEGORY_LAUNCHER); 
     startActivity(intent); 
    } 
}   
    } 

} 

    }); 
0

啓動第三方應用程序的簡單方法是here。從示例代碼:

final Intent intent = new Intent(Intent.ACTION_MAIN, null); 
intent.addCategory(Intent.CATEGORY_LAUNCHER); 
final ComponentName cn = new ComponentName("your.package.name", 
              "your.package.name.your.Class"); 
intent.setComponent(cn); 
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
startActivity(intent); 

如果您在意向指定的應用程序不會在手機上存在,我相信它會拋出一個異常 - 見ρяσѕρєяK公司的搞清楚答案,如果在手機上存在的應用程序。

相關問題