我使用下面的代码通过其它的程序来来分享照片,然后打印它们的包名:
Intent sharingIntent = new Intent(Intent.ACTION_SEND);
sharingIntent.setType("image/jpeg");
sharingIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse(FilePath));
PackageManager packageManager = this.getPackageManager();
List<ResolveInfo> resolveInfo = packageManager.queryIntentActivities(sharingIntent, PackageManager.MATCH_DEFAULT_ONLY);
int i = 0;
while(i < resolveInfo.size()) {
System.out.println(i + " " + resolveInfo.get(i).activityInfo.packageName);
i++;
}
startActivity(Intent.createChooser(sharingIntent, "Share");
获取了下面的9个包名,可以分享照片:
06-29 16:55:22.460: I/System.out(13020): 0 com.amazon.kindle
06-29 16:55:22.460: I/System.out(13020): 1 com.android.bluetooth
06-29 16:55:22.460: I/System.out(13020): 2 com.google.android.apps.uploader
06-29 16:55:22.460: I/System.out(13020): 3 com.ecareme.asuswebstorage
06-29 16:55:22.460: I/System.out(13020): 4 com.google.android.talk
06-29 16:55:22.460: I/System.out(13020): 5 com.google.android.gm
06-29 16:55:22.460: I/System.out(13020): 6 com.aripollak.picturemap
06-29 16:55:22.460: I/System.out(13020): 7 com.instagram.android
06-29 16:55:22.460: I/System.out(13020): 8 com.facebook.katana
如果当我选择应用程序时想过滤一些其它的程序,例如,我想从app列表中过滤 facebook 程序,如何实现?