Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
okunetsky
0 / 0 / 0
Регистрация: 27.02.2015
Сообщений: 29
#1

File provider IllegalArgumentException - Программирование Android

26.08.2016, 23:18. Просмотров 244. Ответов 0
Метки нет (Все метки)

Сейчас изучаю материалы тут.
Вот мой класс выбора файла

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
public class FileSelectActivity extends AppCompatActivity {
 
    private ListView listView;
 
    // The path to the root of this app's internal storage
    private File mPrivateRootDir;
    // The path to the "images" subdirectory
    private File mBooksDir;
    // Array of files in the images subdirectory
    File[] mBookFiles;
    // Array of filenames corresponding to mBookFiles
    String[] mBookFilenames;
    // Initialize the Activity
 
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_file_select);
        listView= (ListView) findViewById(R.id.listView2);
 
 
 
 
        // Set up an Intent to send back to apps that request a file
        Intent mResult  =
                new Intent("com.example.myapp.ACTION_RETURN_FILE");
        // Get the files/ subdirectory of internal storage
        mPrivateRootDir = getFilesDir();
        // Get the files/images subdirectory;
        mBooksDir = new File(mPrivateRootDir, "/Books");
        // Get the files in the images subdirectory
        mBookFiles = mBooksDir.listFiles();
        // Set the Activity's result to null to begin with
        setResult(AppCompatActivity.RESULT_CANCELED, null);
        mBookFilenames=new String[mBookFiles.length];
        for (int i = 0; i < mBookFiles.length; i++) {
            mBookFilenames[i]=mBookFiles[i].getAbsolutePath();
        }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
        ArrayAdapter<String> adapter=new ArrayAdapter<>(this,R.layout.item,R.id.textView2,mBookFilenames);
        listView.setAdapter(adapter);
 
 
 
        listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
 
                File requestFile=new File(mBookFilenames[i]);
 
//                Uri fileURI = FileProvider.getUriForFile(getApplicationContext(),
//                        "app.com.example.oleg.sharingfiles.fileprovider",
//                        requestFile);
                Log.d("oleh", String.valueOf(requestFile.getAbsolutePath()));
 
            }
        });
 
 
    }
}
Вот манифест с файлпровайдером
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="app.com.example.oleg.sharingfiles">
 
    <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="app.com.example.oleg.sharingfiles.fileprovider"
            android:exported="false"
            android:grantUriPermissions="true">
            <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>
        <activity android:name=".FileSelectActivity"></activity>
    </application>
 
</manifest>
А вот файл с доступными для просмотра папками
XML
1
2
3
4
<?xml version="1.0" encoding="utf-8"?>
<paths>
    <files-path path="Books/" name="mybooks" />
</paths>
В итоге ошибка

6 16:10:26.851 12044-12044/app.com.example.oleg.sharingfiles E/AndroidRuntime: FATAL EXCEPTION: main
Process: app.com.example.oleg.sharingfiles, PID: 12044
java.lang.IllegalArgumentException: Failed to find configured root that contains /data/data/app.com.example.oleg.sharingfiles/files/Books/Pride and prejudice
at android.support.v4.content.FileProvider$SimplePathStrategy.getUriForFile(FileProvider.java:711)
at android.support.v4.content.FileProvider.getUriForFile(FileProvider.java:400)
at app.com.example.oleg.sharingfiles.FileSelectActivity$1$override.onItemClick(FileSelectActivity.java:82)
at app.com.example.oleg.sharingfiles.FileSelectActivity$1$override.access$dispatch(FileSelectActivity.java)
at app.com.example.oleg.sharingfiles.FileSelectActivity$1.onItemClick(FileSelectActivity.java:0)
at android.widget.AdapterView.performItemClick(AdapterView.java:300)
at android.widget.AbsListView.performItemClick(AbsListView.java:1143)
at android.widget.AbsListView$PerformClick.run(AbsListView.java:3044)
at android.widget.AbsListView$3.run(AbsListView.java:3833)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5221)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.08.2016, 23:18
Здравствуйте! Я подобрал для вас темы с ответами на вопрос File provider IllegalArgumentException (Программирование Android):

Error opening trace file no such file or directory (2) - Программирование Android
Наткнулся на исходники эмулятора nes, после выбора файла эмуляции .nes, возникает ошибка &quot;error opening trace file no such file or...

Ошибка "Error opening trace file: No such file or directory (2)" - Программирование Android
пару часов назад прога работала включил комп перестала пишет такую ошибку java.lang.RuntimeException: Unable to start activity...

Как получить данные контакта из Contact Provider - Программирование Android
Подскажите как получить все данные из Contact Provider относящиеся к конкретному контакту?

Передача данных между двумя телефонами Android + Content Provider - Программирование Android
Добрый день. Подскажите, пожалуйста, есть телефон на нём установлена программа, в данной программе есть Content Provider. Можно ли по...

No Entity Framework provider found for the ADO.NET provider with invariant name 'System.Data.SqlClient' - C# MVC
При работе приложение выкидывает такую ошибку. &quot;No Entity Framework provider found for the ADO.NET provider with invariant name...

Java.lang.IllegalArgumentException в нативных функциях (embedded Java, MicroEJ, STM32F4Discovery) - Микроконтроллеры
Добрый день! Пытаюсь связать embedded Java и C посредством нативных функций. Идея в следующем: мне нужно вернуть из нативной...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.08.2016, 23:18
Привет! Вот еще темы с ответами:

fatal error C1083: Cannot open include file: 'windows.h': No such file or directory - Visual C++
Почему Visul C++ 2005 Express Editional ругается на # include &lt;windows.h&gt;, пишет:&gt;g:\documents and settings\max\мои документы\visual studio...

Warning: require(/path/to/file..): failed to open stream: No such file or directory - Joomla
Установил шаблон на joomla 3 и увидел сию ошибку -&gt; Warning:...

The file is possibly corrupt. The file header checksum does not match the computed checsum. - Windows 7
Привет ребята, всех с наступающим днём алкогольного отстрела! Правильно! уничтожим это напиток раз и навсегда! все выпьем! Ладно, а...

fatal error C1083: Cannot open include file: 'Date.h': No such file or directory - C++
Всем добрый вечер! У меня проблема. Мне нужно, чтобы мой класс содержал обьект другого класса как элемент данных, я его добавила в проект,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru