Это мое неявное намерение вызвать изображение редактирования приложения на устройстве:андроида неявное намерение изменить не удалось загрузить изображение
startActivity(new Intent(Intent.ACTION_EDIT).setDataAndType(myUri,
getMimeType(myUri)).setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION |
Intent.FLAG_GRANT_WRITE_URI_PERMISSION));
И это, как я getMimeType:
public String getMimeType(Uri uri) {
String mimeType = null;
if (uri.getScheme().equals(ContentResolver.SCHEME_CONTENT)) {
ContentResolver cr = getContentResolver();
mimeType = cr.getType(uri);
} else {
String fileExtension = MimeTypeMap.getFileExtensionFromUrl(uri
.toString());
mimeType = MimeTypeMap.getSingleton().getMimeTypeFromExtension(
fileExtension.toLowerCase());
}
return mimeType;
}
Для некоторых приложений это аварийные сигналы для загрузки:
В приложении Sketch_Camera
только невидимая страница загружает и отключает взаимодействие с моим приложением.
В приложении AirBrush
загружается приложение, но с этим сообщением «Не удалось загрузить изображение».
Связано ли это с минимальной версией sdk, так как у меня 16? Я тестировал это на минимальной версии sdk 9 и не изменял результат.
Есть ли что-нибудь еще, что я должен добавить к этому намерению работать со всеми приложениями?
Я попытался putExtra тоже, и это не помогает:
.putExtra(Intent.ACTION_EDIT, myUri);
Я некоторые галереи приложений на устройстве, и все они запустить Sketch_Camera
и AirBrush
без каких-либо проблем.
Что здесь происходит? Я так смущен после двух дней борьбы с этим явлением.
Какова ценность 'myUri'?Почему вы используете 'image/*' вместо фактического MIME-типа (так как это * ваш * контент, поэтому * вы знаете, что такое тип MIME)? – CommonsWare
myUri - это uri из файла изображения >> 'Uri.fromFile (myFile)' и почему я использую 'image/*' вместо фактического MIME-типа? Я выбрал код из стека. Теперь я отредактировал вопрос на основе вашего гида. Но все же я получаю тот же результат. – Eftekhari
«myUri - это uri из файла изображения» - и где этот файл? 'Intent.FLAG_GRANT_READ_URI_PERMISSION' и' Intent.FLAG_GRANT_WRITE_URI_PERMISSION' бесполезны в этом случае, поскольку они не относятся к значениям 'file'' Uri'. – CommonsWare