我使用以下方法与用户选择的任何应用分享图片。
Intent shareIntent = new Intent(Intent.ACTION_SEND);
shareIntent.setType("image/*");
File imageFileToShare = new File(imagePath);
shareIntent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(imageFileToShare));
if (!TextUtils.isEmpty(text)) {
shareIntent.putExtra(Intent.EXTRA_TEXT, text);
}
context.startActivity(Intent.createChooser(shareIntent, "Share with").addFlags(Intent.FLAG_ACTIVITY_NEW_TASK));
这很好用,但现在我试图获取用户选择的应用名称进行分享。有(标准)方法吗?
感谢您的关注。 何
答案 0 :(得分:6)
使用Android选择器时,Android 6.0之前不支持此功能。在Android 6.0及更高版本中,您可以使用EXTRA_CHOOSER_REFINEMENT_INTENT_SENDER
提供IntentSender
,当用户做出选择以及选择时,会通知PackageManager
。
欢迎您使用queryIntentActivities()
和shareIntent
找出支持您{{1}}的活动,并创建自己的用户界面供用户选择。然后,由于它是您自己的UI,您将找到用户选择的内容。
答案 1 :(得分:2)
您可以尝试使用以下代码:
$.extend( jQuery.fn.dataTableExt.oSort, {
"date-time-odd-pre": function (a){
if(/\d{1,2}\/\d{1,2}\/\d{4}/.test(a)){
return parseInt(moment(a, "DD/MM/YYYY").format("X"), 10);
}else{
return parseInt(moment(a, "MM/YYYY").format("X"), 10);
}
},
"date-time-odd-asc": function (a, b) {
return a - b;
},
"date-time-odd-desc": function (a, b) {
return b - a;
}
});
和
PackageManager packageManager = getPackageManager();
Intent shareIntent = new Intent(Intent.ACTION_SEND);
shareIntent.setType("image/*");
getNameFromApp(packageManager);
此代码获取最后一个应用的名称。但你可以随心所欲地做到这一点。做吧!。