我想从内部目录共享文件。 我已经使用了文件提供程序。
<provider
android:name="android.support.v4.content.FileProvider"
android:authorities="com.gps.stuttgartuni.bincalendar"
android:exported="true"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_path" />
</provider>
我和你一样分享这个文件
File file = new File(getFilesDir(), fileName);
if(file.exists()){
try {
Uri uri =FileProvider.getUriForFile(getApplicationContext(), BuildConfig.APPLICATION_ID, file);
Intent sharingIntent = new Intent(Intent.ACTION_SEND);
sharingIntent.setType("application/xml");
sharingIntent.putExtra(Intent.EXTRA_STREAM, uri);
sharingIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
Context context=getApplicationContext();
List<ResolveInfo> resInfoList = context.getPackageManager().queryIntentActivities(sharingIntent, PackageManager.MATCH_DEFAULT_ONLY);
for (ResolveInfo resolveInfo : resInfoList) {
String packageName = resolveInfo.activityInfo.packageName;
context.grantUriPermission(packageName, uri, Intent.FLAG_GRANT_WRITE_URI_PERMISSION | Intent.FLAG_GRANT_READ_URI_PERMISSION);
}
startActivity(sharingIntent);
}
catch (Exception e){
Log.e("Error",e.getMessage());
}
我正在尝试发送.xml 使用gmail和内置客户端发送电子邮件时代码没有问题,但我不能使用app或messenger或任何其他消息应用程序共享文件。 相同的messenger应用程序显示格式不受支持的吐司,虽然通常我可以使用它们发送.xml文件。
知道为什么代码只对某些应用程序有问题吗?