私はAndroidに基本的なファイルエクスプローラアプリを作成していますが、FileProviderを動作させる方法が残っていますので、Androidの基本的な割り当て以外のファイル領域にアプリのアクセスを許可できますあなたはデフォルトでAndroidのFileProviderの例
私が読んできたガイド(https://developer.android.com/training/secure-file-sharing/setup-sharing.htmlなど)に従ってみましたが、私は迷っています。具体的には、自分の@ xml/filepathsが私の中に登録していないという事実にあります。 "トップレベル要素が完成していません"というエラーが表示されます。ここで
は私のマニフェストです:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.hacktivity.datatemple">
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<provider
android:name="android.support.v4.content.FileProvider"
android:authorities="org.hacktivity.datatemple.fileprovider"
android:grantUriPermissions="true"
android:exported="false">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/filepaths" />
</provider>
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
そして、私のファイルのres/XML/filepaths.xmlに、私は次のようしている:
<paths>
<external-path path="/" name="root" />
</paths>
"<"の間違いはここだけで、私のプロジェクトのコードではありません。 –
FileProviderでない場合は、私が使っている他のさまざまなアプリのように、Androidのファイルシステムの残りの部分にアクセスすることができますか? –
@GraffitiPlum:あなたが「Androidのファイルシステムの残りの部分」を意味するものは何か分かりません。根っこのデバイスで実行している場合を除いて、任意のファイルシステムの場所にアクセスすることはできません。 'READ_EXTERNAL_STORAGE'または' WRITE_EXTERNAL_STORAGE'パーミッションを保持することで(外部ストレージ)(https://commonsware.com/blog/2014/04/08/storage-situation-external-storage.html)を探検することができます実行時に)。 – CommonsWare