Android 7.0 Provider使用

举个栗子:版本更新

版本安装:

/**
 * 安装Apk
 *
 * @param context
 * @param apkPath
 */
public static void installApk(Context context, String apkPath) {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
        Uri uri = FileProvider.getUriForFile(context, "com.common.diffapp.provider", new File(apkPath));
        Intent intent = new Intent(Intent.ACTION_VIEW);
        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
        intent.setDataAndType(uri, "application/vnd.android.package-archive");
        context.startActivity(intent);
    } else {
        Intent intent = new Intent(Intent.ACTION_VIEW);
        intent.setDataAndType(Uri.parse("file://" + apkPath), "application/vnd.android.package-archive");
        context.startActivity(intent);
    }
}

配置AndroidManifest.xml


    

配置file_paths: 



//这路径不推荐使用,我测试随便用的
    

Android 7.0 Provider使用_第1张图片

一些配置xml的属性:




    
    
    
    
    
    
    
    
    
    
    
    
    
    

这些配置路径说白了就是和你存储的file文件有关系;

扩展:https://blog.csdn.net/leilifengxingmw/article/details/57405908

报错的情况要多检查下xml配置的file路径:IllegalArgumentException: Failed to find configured root that contains

 

你可能感兴趣的:(Android)