2017-10-11 69 views
3

我想在特定應用程序中默認從不同的圖庫應用程序的列表中打開圖像。我能夠獲得可用應用程序的列表。 但我想默認選擇一個特定的應用程序,而不顯示應用程序列表。這是可能的手機設置,但我想以編程方式。如何在不同應用程序列表中的一個特定應用程序中打開我的圖像?

Intent intent = new Intent(); 
      intent.setAction(Intent.ACTION_VIEW); 
      intent.setDataAndType(Uri.parse("file://" + "/sdcard/test.jpg"), "image/*"); 

      PackageManager pm = getPackageManager(); 
      List<ResolveInfo> resInfo = pm.queryIntentActivities(intent, 0); 
      List<String> intentList = new ArrayList<>(); 

      String packageName = null; 

      for (int i=0;i<resInfo.size();i++){ 
       ResolveInfo ri = resInfo.get(i); 
       packageName = ri.activityInfo.packageName; 
       intentList.add(packageName); 
      } 

      startActivity(intent); 

感謝您的幫助提前.....

+0

你可以通過包名稱篩選可用選項的數量嗎? – Submersed

回答

1

你需要在創建你的意圖時,在應用程序的包名傳遞setPackage()

intent.setPackage("com.example.gallery"); startActivity(Intent.createChooser(intent, "View Image"));

相關問題