1
0
mirror of https://github.com/laurent22/joplin.git synced 2024-12-24 10:27:10 +02:00

Android: Fixed opening attachments

This commit is contained in:
Laurent Cozic 2021-11-29 10:37:06 +00:00
parent a6884a2ee4
commit 6950c40b12
2 changed files with 14 additions and 0 deletions

View File

@ -13,6 +13,15 @@
<uses-feature android:name="android.hardware.camera" android:required="false" />
<uses-feature android:name="android.hardware.camera.autofocus" android:required="false" />
<!-- Need this block to support viewing files in with Android API 30 -->
<!-- https://github.com/vinzscam/react-native-file-viewer/issues/94#issuecomment-767743365 -->
<queries>
<intent>
<action android:name="android.intent.action.VIEW" />
<data android:mimeType="*/*" />
</intent>
</queries>
<!--
android:requestLegacyExternalStorage: Android 10 introduced new "scoped storage" mechanism.
Apps targeting Android 10 (sdk 29) can no longer freely access arbitrary paths on the shared storage.

View File

@ -44,10 +44,13 @@ import SelectDateTimeDialog from '../SelectDateTimeDialog';
import ShareExtension from '../../utils/ShareExtension.js';
import CameraView from '../CameraView';
import { NoteEntity } from '@joplin/lib/services/database/types';
import Logger from '@joplin/lib/Logger';
const urlUtils = require('@joplin/lib/urlUtils');
const emptyArray: any[] = [];
const logger = Logger.create('screens/Note');
class NoteScreenComponent extends BaseScreenComponent {
static navigationOptions(): any {
return { header: null };
@ -186,6 +189,8 @@ class NoteScreenComponent extends BaseScreenComponent {
} else if (item.type_ === BaseModel.TYPE_RESOURCE) {
if (!(await Resource.isReady(item))) throw new Error(_('This attachment is not downloaded or not decrypted yet.'));
const resourcePath = Resource.fullPath(item);
logger.info(`Opening resource: ${resourcePath}`);
await FileViewer.open(resourcePath);
} else {
throw new Error(_('The Joplin mobile app does not currently support this type of link: %s', BaseModel.modelTypeToName(item.type_)));