Невозможно создать или прочитать файлы из хранилища, когда приложение запущено из другого - PullRequest
1 голос
/ 24 сентября 2019

Я открываю свое Приложение A из Приложение B , используя приведенный ниже код.

public void openApp(Context context, String appName, String packageName) {
        if (isAppInstalled(context, packageName)) {
            if (isAppEnabled(context, packageName)) {
                Intent intent = new Intent();
                intent.setAction(AppConst.ACTION_CONSTANT);
                intent.putExtra(Intent.EXTRA_TEXT, "Init from Communicator");
                intent.setType("text/plain");
                if (intent.resolveActivity(getPackageManager()) != null) {
                    startActivity(intent);
                } else {
                    Toast.makeText(context, getString(R.string.install_latest_app, appName), Toast.LENGTH_SHORT).show();
                }
            } else {
                Toast.makeText(context, getString(R.string.app_not_enabled, appName), Toast.LENGTH_SHORT).show();
            }
        } else {
            Toast.makeText(context, getString(R.string.app_not_installed, appName), Toast.LENGTH_SHORT).show();
        }
    }

Теперь проблема в том, что я получаю URIвыбранный файл изображения из галереи, используя

private void openGallery() {
        Intent getIntent = new Intent(Intent.ACTION_GET_CONTENT);
        getIntent.setType("image/*");

        Intent pickIntent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
        pickIntent.setType("image/*");

        Intent chooserIntent = Intent.createChooser(getIntent, "Select Image");
        chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS, new Intent[]{pickIntent});

        startActivityForResult(chooserIntent, PICK_IMAGE);
    }

Результирующий URI, который я передаю серверу, используя ValueCallback<Uri[]> filePathCallback, установив

mUMA.onReceiveValue(new Uri[]{capturedImageUri});

Все это работает нормально, когда я открываюприложение, но при открытии из приложения B .

происходит сбой. Нужно ли устанавливать дополнительные разрешения при открытии из приложения B ?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...