Always use FileProvider

This commit is contained in:
imgx64 2017-10-22 11:50:23 +03:00
parent 8dd6ca756c
commit 0922f8c16e

View File

@ -102,20 +102,13 @@ public class FileOpener2 extends CordovaPlugin {
File file = new File(fileName); File file = new File(fileName);
if (file.exists()) { if (file.exists()) {
try { try {
Uri path = Uri.fromFile(file);
Intent intent = new Intent(Intent.ACTION_VIEW); Intent intent = new Intent(Intent.ACTION_VIEW);
if((Build.VERSION.SDK_INT >= 23 && !contentType.equals("application/vnd.android.package-archive")) || ((Build.VERSION.SDK_INT == 24 || Build.VERSION.SDK_INT == 25) && contentType.equals("application/vnd.android.package-archive"))) {
Context context = cordova.getActivity().getApplicationContext(); Context context = cordova.getActivity().getApplicationContext();
path = FileProvider.getUriForFile(context, cordova.getActivity().getPackageName() + ".opener.provider", file); Uri path = FileProvider.getUriForFile(context, cordova.getActivity().getPackageName() + ".opener.provider", file);
intent.setDataAndType(path, contentType); intent.setDataAndType(path, contentType);
intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION | Intent.FLAG_ACTIVITY_NO_HISTORY); intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION | Intent.FLAG_ACTIVITY_NO_HISTORY);
//intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
}
else {
intent.setDataAndType(path, contentType);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
}
/* /*
* @see * @see
* http://stackoverflow.com/questions/14321376/open-an-activity-from-a-cordovaplugin * http://stackoverflow.com/questions/14321376/open-an-activity-from-a-cordovaplugin