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

File provider IllegalArgumentException - Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Android Запись выходящего звонка "android.intent.action.NEW_OUTGOING_CALL" http://www.cyberforum.ru/android-dev/thread1799227.html
Использую бродкаст : if (intent.getAction().equals(ACTION_OUT)) { Log.i("MyMsg", "4"+ intent.getAction()); if ((bundle = intent.getExtras()) != null) { outCall = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER); Log.i("MyMsg", " out "+outCall); Boolean start_or_no = new...
Android Не могу запустить эмулятор Андроида на Windows 7 Здравствуйте всем! Исходные данные: Комп с Windows 7 (Intel Celeron, 2 Гб ОЗУ). Версия Java - 1.8.0_20. В переменных среды (системные переменные) в Path стоит путь до Java (C:\Program Files\Java\jdk1.8.0_05\bin). Установлен Android SDK (Android 7.0, API 24 и Android 4.4.2, API 19) В пользовательской переменной Windows стоит ANDROID_SDK_HOME (C:\Users\User\.android). Запускаю Android... http://www.cyberforum.ru/android-dev/thread1799164.html
Android Добавить сторонний edittext
Пытаюсь добавить библиотеку showhidepasswordedittext в свой проект. Gradle выдает ошибку сборки. Project gradle // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { repositories { jcenter() }
Доброе дело под android: блокировка ввода с неправильной орфографией Android
Предыстория: халтурю репетиторам, приходится общаться с детьми в онлайне порой. Уровень грамотности на нуле, последней каплей стало : "начнуться кантрольные и тогдалие". Убежден, что если бы в интернете у них не было бы выхода, как писать грамотно, от безысходности они бы и начали писать так, дабы от репетиторов по русскому многочасовых толку мало. Вот и решил написать приложение для...
Android При вставке в FrameLayout низ скрывается за кнопками http://www.cyberforum.ru/android-dev/thread1798941.html
народ помогите пожалуйста как можно сделать, чтобы при добавления фрагмента в FrameLayout, чтобы он не уходил ниже кнопок(стрелки назад, домой и т.д.), а был во весь свободный экран. <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" ...
Android Отладка по Wi-fi Делаю по инструкции: 1.Подключите устройство и компьютер к одной и той же сети. 2.Приконектиться по USB. 3.Установите прослушку на TCP/IP и порт 5555. $ adb tcpip 5555 4.Отключите USB. 5.Найдите IP адрес девайса. К примеру, на Нексусах вы можете найти IP в Settings > About tablet (or About phone) > Status > IP address. 6.Присоединитесь к этому девайсу adb connect <device-ip-address>.... подробнее

Показать сообщение отдельно
okunetsky
0 / 0 / 0
Регистрация: 27.02.2015
Сообщений: 28
26.08.2016, 23:18     File provider IllegalArgumentException
Сейчас изучаю материалы тут.
Вот мой класс выбора файла

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)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 22:00. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru