美文网首页
2021-08-05 Android打开应用系统并分享PDF

2021-08-05 Android打开应用系统并分享PDF

作者: 无尽甜蜜里悠悠记忆 | 来源:发表于2021-08-05 19:37 被阅读0次

    1.获取下载的路径 
           File file = new File(getCurrentActivity().getFilesDir(), "");

            File newFile = new File(file, nickName);

    2.把下载的路径转到fileProvider准备分享

            Uri contentUri = FileProvider.getUriForFile(this, "包名.fileProvider", newFile);

    3.设置分享属性,例如PDF格式

            Intent intent = new Intent(Intent.ACTION_VIEW).setDataAndType(contentUri, "application/pdf");

            intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);

            intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

           this.startActivity(intent)

    //打开应用系统文件管理

    Intent intent = new Intent(Intent.ACTION_GET_CONTENT);

            intent.setType("*/*");

            intent.addCategory(Intent.CATEGORY_OPENABLE);

            getCurrentActivity().startActivityForResult(intent, 10);

    //分享文本或者链接

     Intent intent = new Intent(Intent.ACTION_SEND);

        intent.putExtra(Intent.EXTRA_TEXT, FILE_NAME);;

         intent.setType("text/plain");

       this.startActivity(Intent.createChooser(intent, "meihao"));

    FileProvider环境配置

    注意:file_paths.xml配置内容要进行以下内容对比(下载时创建的本地路径要与下进行对应):

    <files-path name="name" path="path" /> 物理路径相当于Context.getFilesDir() + /path/

    <cache-path name="name" path="path" /> 物理路径相当于Context.getCacheDir() + /path/

    <external-path name="name" path="path" /> 物理路径相当于Environment.getExternalStorageDirectory() + /path/

    <external-files-path name="name" path="path" /> 物理路径相当于Context.getExternalFilesDir(String) + /path/

    <external-cache-path name="name" path="path" /> 物理路径相当于Context.getExternalCacheDir() + /path/

    参考:https://blog.csdn.net/chxc_yy/article/details/81536875

    开始配置:

    1.在Androidstudio /android/app/src/res/xml创建file_paths.xml文件

    <paths xmlns:android="http://schemas.android.com/apk/res/android">

        <files-path name="sharedata" path="path"/>

        <root-path name="root_path" path="."/>

        <external-path name="name" path="path" />

    </paths>

    在AndroidManifest.xml配置

    <provider

                android:name="androidx.core.content.FileProvider"

                android:authorities="包名.fileProvider"

                android:exported="false"

                android:grantUriPermissions="true">

                <meta-data

                    android:name="android.support.FILE_PROVIDER_PATHS"

                    android:resource="@xml/file_paths" />

            </provider>

    相关文章

      网友评论

          本文标题:2021-08-05 Android打开应用系统并分享PDF

          本文链接:https://www.haomeiwen.com/subject/ticvvltx.html