应用程序易受意图重定向问题的影响

问题描述

每当我将应用上传到 Play 商店时,我都会收到此应用容易受到意图重定向的来自 Google 的消息。我收到了这个消息科学 我已经从设备中集成了 pdf 文件选择代码。这是我的文件选择代码片段:

if(Permissions.checkPermissionStorage(CompanyProfileMediaUploadActivity.this)){
                    File file = new File( Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS),brochure_nextkey+".pdf");
                    Uri pdfUri = FileProvider.getUriForFile(CompanyProfileMediaUploadActivity.this,"com.main.mccoymartbusiness.fileproviders",file);
                    intent = new Intent(Intent.ACTION_OPEN_DOCUMENT);
                    intent.addCategory(Intent.CATEGORY_OPENABLE);
                    intent.setDataAndType(pdfUri,"application/pdf");
                    intent.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
                    intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
                    startActivityForResult(intent,PICKFILE_RESULT_CODE);
                }else{
                    Permissions.requestPermissionStorage(CompanyProfileMediaUploadActivity.this);
                }

这里是我的 onActivityResuly 代码

if (requestCode == PICKFILE_RESULT_CODE) {

            getContentResolver().takePersistableuriPermission(
                    intent.getData(),Intent.FLAG_GRANT_READ_URI_PERMISSION
            );
            InputStream iStream = null;
            byte[] inputData = null;
            try {
                iStream = getContentResolver().openInputStream(intent.getData());
                inputData = getBytes(iStream);
            } catch (Exception e) {
                e.printstacktrace();
            }


            uploadCompanybrochureApi(brochure_nextkey,inputData);
        }

在我的 OnActivityResult 中,我正在将文件转换为字节数组并从我的内部 api 将其上传到服务器上。

尽管 Google 支持团队没有提到导致此问题的任何特定代码行或类,但在集成此代码后,我经常遇到此易受攻击的问题。
这是我从谷歌收到的警告: [![在此处输入图片描述][1]][1]

请让我知道任何解决方案。提前致谢。 [1]:https://i.stack.imgur.com/If0Mq.png

解决方法

最后我得到了这个问题的解决方案。我发现我在 libs 文件夹中使用了 Cashfree SDKYouTubeAndroidPlayerApi.jar。我已经从 libs 文件夹中删除了这些并在我的 gradle 中更新了这些行:

update test as t set
    column_a = c.column_a,column_c = c.column_c
from (values
    ('123',1,'---'),('345',2,'+++')  
) as c(column_b,column_a,column_c) 
where c.column_b = t.column_b;

并且还更新了 Facebook sdk 版本。

对于隐式和显式 Intent 重定向,我还更新了我的代码并添加了 implementation 'com.github.davidmigloz:youtube-android-player-api-gradle:1.2.2.1' implementation 'com.cashfree.pg:android-sdk:1.6.1' maven { url 'https://maven.cashfree.com/release' if(intent.resolveActivity(getPackageManager()) != null) 检查。

谢谢。