Все технические форумы на одном сайте Удобный поиск информации с популярных форумов в одном месте
Вопрос: Как на Android зарегистрировать приложение для открытия файлов?

Так чтобы в стандартном фаловом менеджере на девайсе кликаешь на файл с нужным расширением, а оно, например, взяло и Firefox открыло, передав фоксу урл из этого самого файла. Т.е. морда приложению, по сути дела, не нужна. Нужно что-то типа консольной аппликухи для виндов, но на андроиде.
Ответ: ключевое слово "добавляешь" еще один intent-filter
Вопрос: Файл истории браузера на android (Сохранение истории в файл)

Доброго времени суток!
Помогите с решением проблемы)))
Телефон Samsung s7262 на нем есть браузер Google Chrome, в браузере есть история.... как можна сохранить историю этого браузера в файл!?! Или где находится и как вытащить сам файл истрории без root прав...
Ответ:
Сообщение от Liquil
n3250sasha, можно воспользоваться программой KidLogger, она пишет историю и другую активность пользователя в html файл.
Не то)
Вопрос: C++ Builder, Android и YModem

Господа, есть устройство на микроконтроллере, обновляющее прошивку, получающее файл по протоколу YModem
когда-то оно обновляло прошивку будучи физически подключенным к компьютеру.  С помощью самопального софта - в пакете JVCL был такой компонент YModem.
Теперь же я решил оюновлять ее по блютус с телефона. Соответственно для этого требуется приложение на Android. Приложение, которое общается с устройством по блютус я написал. В принципе, неделю поковыряться, я могу и написать программу, которая в соответствии с алгоритмом YModem будет слать данные. 
Но все же, вспоминаю как это было просто с Windows приложением - указал файл и все.
Может быть и под андроит что-то такое есть?
Ответ:
Господа, есть устройство на микроконтроллере, обновляющее прошивку, получающее файл по протоколу YModem
когда-то оно обновляло прошивку будучи физически подключенным к компьютеру.  С помощью самопального софта - в пакете JVCL был такой компонент YModem.
Теперь же я решил оюновлять ее по блютус с телефона. Соответственно для этого требуется приложение на Android. Приложение, которое общается с устройством по блютус я написал. В принципе, неделю поковыряться, я могу и написать программу, которая в соответствии с алгоритмом YModem будет слать данные. 
Но все же, вспоминаю как это было просто с Windows приложением - указал файл и все.
Может быть и под андроит что-то такое есть?
Вопрос: Обучающее приложение

Здравствуйте. Есть задача: создать мобильное приложение с обучающим материалом (лекции и тесты). Помимо этого должна быть возможность учителю добавлять свои лекции.Подскажите как осуществить такое приложение? Насчет добавления лекций думал про веб-интерфейс и бд, но не понятно как хранить, а потом и выводить в приложение вордовские файлы. Помогите хотя бы направлением, в котором нужно двигаться.
Ответ:
Сообщение от Whitebright
потом и выводить в приложение вордовские файлы
Гугл предлагает варианты открывать вордовские файлы через интент. Пример
Полезный пример
Вам остается сделать папку куда будете складывать лекции, и юзеру показывать содержимое этой папки. Скачивать файлы с сайта также через интент. Пример
Вопрос: Нетривиальная тема. Можно ли для Android создать приложение, запускаемое минуя Dalvik? Например, формата ELF

Чтобы оно, например, создавало файл во внутренней памяти. Или выводило что-то в терминал (он вообще есть на Android? как в него попасть?)
Т.е. использовать непосредственно ядро Linux
Ответ: Неа! нельзя! так уж устроен андроид... К ядру тебя просто не пустят... Да и ядро там урезаное. Консоль конечно есть, но стандартных методов доступа к нему нет. Почитай про команду adb.
Вопрос: Учебник android, где приложения делаются на eclipse

Всем привет.
Дайте пожалуйста учебник по android, где в качестве среды разработки используется eclipse.
Ответ: Особой разницы, в какой среде выполняется разработка нет, не так ли? Среда - всего лишь инструмент.
Вот в этом списке ( ) есть eclipse, но первые несколько уроков показаны на Андроид Студио.
А если вопрос заключается в том, как настроить эклипс под разработку Андроид, то об этом есть куча статей в интернете.
Вопрос: Не удается прочитать текстовый файл который создан из приложения

Задача открывать из написаного мною приложения тектовые файлы которые не созданы этим приложением! Я сейчас пришу приложение и для обработки входных данных нужно выбирать файлы которые записываются на планшет после чего содержимое этих текстовых файлов должно быть обработано и прописано в Базы данных Sqlite! я создал все единственное что не получается это прочитать текстовый фай который не создан самим приложением. Фактически этот модуль это система рестора данных на случай замены устройства или потери данных! Приложение пишу в Androd Studio


для выбора файла я использую FileManager.class

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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
import android.app.AlertDialog;
import android.app.ListActivity;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
 
public class FileManager extends ListActivity {
    private List<String> directoryEntries = new ArrayList<String>();
    private File currentDirectory = new File("/");
 
    //when application started
    @Override
    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        //set main layout
        setContentView(R.layout.fileman);
        //browse to root directory
        browseTo(new File("/"));
    }
 
    //browse to parent directory
    private void upOneLevel() {
        if (this.currentDirectory.getParent() != null) {
            this.browseTo(this.currentDirectory.getParentFile());
        }
    }
 
    //browse to file or directory
    private void browseTo(final File aDirectory) {
        //if we want to browse directory
        if (aDirectory.isDirectory()) {
            //fill list with files from this directory
            this.currentDirectory = aDirectory;
            fill(aDirectory.listFiles());
 
            //set titleManager text
            TextView titleManager = (TextView) findViewById(R.id.titleManager);
            titleManager.setText(aDirectory.getAbsolutePath());
        } else {
            //if we want to open file, show this dialog:
            //listener when YES button clicked
            OnClickListener okButtonListener = new OnClickListener() {
                public void onClick(DialogInterface arg0, int arg1) {
                    //intent to navigate file
                    //Intent i = new Intent(android.content.Intent.ACTION_VIEW, Uri.parse("file://" + aDirectory.getAbsolutePath()));
                    //start this activity
                    //startActivity(i);
 
                    Intent intent = new Intent();
                    intent.putExtra("url", aDirectory.getAbsolutePath().toString());
                    setResult(RESULT_OK, intent);
                    finish();
                }
            };
            //listener when NO button clicked
            OnClickListener cancelButtonListener = new OnClickListener() {
                public void onClick(DialogInterface arg0, int arg1) {
                    //do nothing
                    //or add something you want
                }
            };
 
            //create dialog
            new AlertDialog.Builder(this)
                    .setTitle("დამტკიცება") //title
                    .setMessage("бѓ’бѓЎбѓЈбѓ*бѓ— ფაილის бѓ’бѓђбѓ®бѓЎбѓњбѓђ " + aDirectory.getName() + "?") //message
                    .setPositiveButton("დიახ", okButtonListener) //positive button
                    .setNegativeButton("бѓђбѓ*бѓђ", cancelButtonListener) //negative button
                    .show(); //show dialog
        }
    }
 
    //fill list
    private void fill(File[] files) {
        //clear list
        this.directoryEntries.clear();
 
        if (this.currentDirectory.getParent() != null)
            this.directoryEntries.add("..");
 
        //add every file into list
        for (File file : files) {
            this.directoryEntries.add(file.getAbsolutePath());
        }
 
        //create array adapter to show everything
        ArrayAdapter<String> directoryList = new ArrayAdapter<String>(this, R.layout.row, this.directoryEntries);
        this.setListAdapter(directoryList);
    }
 
    //when you clicked onto item
    @Override
    protected void onListItemClick(ListView l, View v, int position, long id) {
        //get selected file name
        int selectionRowID = position;
        String selectedFileString = this.directoryEntries.get(selectionRowID);
 
        //if we select ".." then go upper
        if (selectedFileString.equals("..")) {
            this.upOneLevel();
        } else {
            //browse to clicked file or directory using browseTo()
            File clickedFile = null;
            clickedFile = new File(selectedFileString);
            if (clickedFile != null)
                this.browseTo(clickedFile);
        }
    }
отрабатывает корректно и возвращает и путь и имя файла

после чего пробовал прочитать его 2 способами:

Вариант 1:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
    private void readFile(String aFileName) {
        try {
            // открываем поток для чтения
            BufferedReader br = new BufferedReader(new InputStreamReader(
                    openFileInput(aFileName)));
            String str = "";
            // читаем содержимое
            while ((str = br.readLine()) != null) {
                Log.d(LOG_TAG, str);
            // копируем содержимое в тект поле
                xEditText.setText(str);
            }
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
ошибки как таковой не дает просто при выполнении строки openFileInput(aFileName) происходит крушение хотя при дебагинге имя файла и путь к нему отражаются корректно

Вариант 2:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
    private void openFile(String fileName) {
        try {
            InputStream iStream = openFileInput(fileName);
 
            if (iStream != null) {
                InputStreamReader isr = new InputStreamReader(iStream);
                BufferedReader reader = new BufferedReader(isr);
                String line;
                StringBuilder builder = new StringBuilder();
 
                while ((line = reader.readLine()) != null) {
                    builder.append(line + "\n");
                }
 
                iStream.close();
                xEditText.setText(builder.toString());
            }
        } catch (Throwable t) {
            Toast.makeText(getApplicationContext(),
                    "Exception: " + t.toString(), Toast.LENGTH_LONG).show();
        }
    }
в этом случае выскакивает на Exception и говорит что файл отсутсвует хотя файл есть!

В манифесте вроде как все необходимые пермишены прописаны!!!!
XML
1
2
3
4
5
6
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
Самое поразительное что я с помошью системы своего приложения создал и записал файл но сам же прочитать его не смог!
очень прошу подсказать решение проблемы
Ответ: vxg, Доброго времени суток!

У меня полное убеждение в том что меня просто зациклило и я в упор не вижу решения проблемы!

Проблема в том что не происходит визуализаия текста прочитаного с файла, причин может быть две:
1. не заполняется Лист list.add(str);
2. Даные из листа не передаются Адаптеру и соответсвенно потом и Айтм листу;

Чтоб все стало понятно я размещу полный текст и класса и Активити, меня мучают смутные сомнения что место имеет какая то идиотская ошибка которую я просто не вижу потому как слишко долго смотрю словом по принципу "смотришь в книгу видишь фигу"

Это сам класс

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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.ListView;
import android.widget.TextView;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.List;
 
public class RestoreActivity extends AppCompatActivity implements View.OnClickListener {
 
 
    ImageButton btnOKRestore;
    ImageButton btnExitRestore;
    Button btnOpenFile;
    TextView xPath;
    String xFileName;
    String str;
    ArrayAdapter<String> xAdapter;
    ListView lvData;
    private List<String> list;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_restore);
 
        btnOpenFile = (Button) findViewById(R.id.btnOpenFile);
        btnOKRestore = (ImageButton) findViewById(R.id.btnOKRestore);
        btnExitRestore = (ImageButton) findViewById(R.id.btnExitRestore);
        xPath = (TextView) findViewById(R.id.ePath);
        lvData = (ListView) findViewById(R.id.lvData);
 
        btnOpenFile.setOnClickListener(this);
        btnOKRestore.setOnClickListener(this);
        btnExitRestore.setOnClickListener(this);
    }
 
    @Override
    public void onClick(View v) {
 
        switch (v.getId()) {
            case R.id.btnOpenFile:
                ClicOpenFile();
                break;
 
            case R.id.btnOKRestore:
                ClicbtnOKRestore();
                break;
 
            case R.id.btnExitRestore:
                ClickbtnExitRestore();
                break;
        }
    }
 
    private void ClickbtnExitRestore() {
        finish();
    }
 
    private void ClicbtnOKRestore() {
 
    }
 
    private void ClicOpenFile() {
        Intent intent = new Intent(this, FileManager.class);
        startActivityForResult(intent, 1);
    }
 
    // Метод для открытия файлаa
    private void readFile(String aFileName) {
        FileInputStream is = null;
        InputStreamReader in = null;
        BufferedReader br = null;
 
        try {
            File f = new File(aFileName);
            is = new FileInputStream(f);
            in = new InputStreamReader(is, "UTF-8");
            br = new BufferedReader(in);
 
            while ((str = br.readLine()) != null) {
                // Заполнение Array
                list.add(str);
            }
            xAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, list);
            lvData.setAdapter(xAdapter);
        } catch (Exception e) {
        } finally {
            if (br != null) {
                try {
                    br.close();
                } catch (IOException e) {
                }
            }
            if (in != null) {
                try {
                    in.close();
                } catch (IOException e) {
                }
            }
            if (is != null) {
                try {
                    is.close();
                } catch (IOException e) {
                }
            }
        }
    }
 
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
        if (data == null) {
            return;
        }
        xFileName = data.getStringExtra("url");
        xPath.setText(xFileName);
        readFile(xFileName);
    }
 
}

Это Активити

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
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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@layout/rect"
    android:orientation="vertical"
    android:weightSum="1">
 
    <TableRow
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="top"
        android:weightSum="1">
 
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:text="@string/tPath"
            android:id="@+id/tPath"
            android:layout_margin="5dp" />
 
        <TextView
            android:id="@+id/ePath"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="/sdcard/inventfiles"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:textColor="#010199"
            android:enabled="false"
            android:layout_weight="0.26"
            android:layout_margin="5dp" />
 
        <Button
            android:id="@+id/btnOpenFile"
            style="?android:attr/buttonStyleSmall"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/a2" />
 
    </TableRow>
    <TableLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content">
 
        <TableRow
            android:layout_width="fill_parent"
            android:layout_height="fill_parent">
 
            <Button
                android:id="@+id/bIdnCode"
                android:layout_width="0dp"
                android:layout_height="70dp"
                android:layout_column="1"
                android:layout_gravity="center_vertical"
                android:layout_weight="0.1"
                android:text="@string/textIdnCode"
                android:textColor="#010199" />
 
            <Button
                android:id="@+id/bInvoiceNum"
                android:layout_width="0dp"
                android:layout_height="70dp"
                android:layout_column="2"
                android:layout_gravity="center_vertical"
                android:layout_weight="0.5"
                android:text="@string/colInvoiceNum"
                android:textColor="#010199" />
 
            <Button
                android:id="@+id/bParcelQw"
                android:layout_width="0dp"
                android:layout_height="70dp"
                android:layout_column="3"
                android:layout_gravity="center_vertical"
                android:layout_weight="0.2"
                android:text="@string/colParcelQw"
                android:textColor="#010199" />
 
            <Button
                android:id="@+id/bZonaName"
                android:layout_width="0dp"
                android:layout_height="70dp"
                android:layout_column="4"
                android:layout_gravity="center_vertical"
                android:layout_weight="0.2"
                android:text="@string/colZonaName"
                android:textColor="#010199" />
 
        </TableRow>
 
        <ListView
            android:id="@+id/lvData"
            android:layout_width="wrap_content"
            android:layout_height="637dp"
            android:choiceMode="multipleChoice" />
    </TableLayout>
 
    <TableRow
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal">
 
        <ImageButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/btnOKRestore"
            android:src="@drawable/org_current_add"
            android:contentDescription="@string/btnrestore" />
 
        <ImageButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/btnExitRestore"
            android:focusableInTouchMode="false"
            android:src="@drawable/btn_close_door"
            android:contentDescription="@string/btnexit" />
    </TableRow>
</LinearLayout>
Добавлено через 13 минут
Есть еще один момент который меня беспокоит это цикл

Java
1
2
3
4
            while ((str = br.readLine()) != null) {
                // Заполнение Array
                list.add(str);
            }
при дебаге я обратил внимание на то что значение str это только одна строка! в идее там должно быть N-ое количество строк и я предпологал что этот цикл по строчно должен заполнять лист но у меня нет уверености что это происходит
Вопрос: Xamarin, приложение устанавливается на телефон, но не работает, хотя работает на эмуляторе

Приложения не запускаются на телефоне, хотя в эмуляторе работают нормально. а манифесте по версиям сходится все, на телефоне 4.0.3, так же и в эмуляторе. не работает даже стандартное, "Нello? Android" приложение.

Видела похожие темы на форуме, но все решения не подходят ;(

Вот код:
C#
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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
using System;
using System.Timers;
using System.Collections;
 
using Android.App;
using Android.Content;
using Android.Runtime;
using Android.Views;
using Android.Widget;
using Android.OS;
using Android.Media;
 
namespace Time
{
    [Activity (Label = "Сталкер по Кастанеде", MainLauncher = true, Icon = "@drawable/icon")]
    public class MainActivity : Activity
    {
 
        private static readonly int NotificationId = 1000;
        public Timer tmr;
        public Random rand;
        protected override void OnCreate (Bundle bundle)
        {
            base.OnCreate (bundle);
            SetContentView (Resource.Layout.Main);
            Button start = FindViewById<Button> (Resource.Id.Full);
 
            tmr = new Timer ();
            tmr.Elapsed += new ElapsedEventHandler (MyNotification);
            rand = new Random ();
 
 
        }
        protected override void OnStart ()
        {
            base.OnStart ();
        }
        protected override void OnResume ()
        {
            base.OnResume ();
 
            Button start = FindViewById<Button> (Resource.Id.Full);
 
            start.Click += (object s4ender, EventArgs e) => {
 
                    if(tmr.Enabled == false)
                    {
                        tmr.Interval = rand.Next(300000, 1800000); 
                        tmr.Enabled = true;
                        start.Text = "Отключить";
                    }
                    else
                    {
                        tmr.Enabled = false;
                        start.Text = "Запустить";
                }
            
            };  
        }
        protected override void OnRestart ()
        {
            base.OnRestart ();
 
            Button start = FindViewById<Button> (Resource.Id.Full);
            start.Click += (object sender, EventArgs e) => {
                    
                if(tmr.Enabled == false)
                    {
                        tmr.Enabled = true;
                        start.Text = "Отключить";
                    }
                    else
                    {
                        tmr.Enabled = false;
                        start.Text = "Запустить";
                    }
 
            };  
        }
        private void MyNotification(object sender, EventArgs eventArgs)
        {
            Intent resultIntent = new Intent ();
            PendingIntent resultPendingIntent = PendingIntent.GetActivity (this, 0, resultIntent, PendingIntentFlags.CancelCurrent);
 
            string[] phrase = { "Причеши мозги", "Не спи в реале", "А ты точно не спишь?", "Как ты здесь оказался?" };
            int i = rand.Next (0, 3);
            long[] vibro = { 100, 200, 300, 400 };
            Notification.Builder builder = new Notification.Builder (this)
                    .SetAutoCancel (true) // dismiss the notification from the notification area when the user clicks on it
                    .SetContentIntent (resultPendingIntent) // start up this activity when the user clicks the intent.
                .SetContentTitle ("Сталкер по Кастанеде") // Set the title
                    .SetSmallIcon (Resource.Drawable.icon).SetSound (RingtoneManager.GetDefaultUri (RingtoneType.Notification)) // This is the icon to display
                .SetContentText (phrase [i]).SetVibrate (vibro); // the message to display.
 
            NotificationManager notificationManager = (NotificationManager)GetSystemService (NotificationService);
            notificationManager.Notify (NotificationId, builder.Build ());
 
 
        }
    }
}
Добавлено через 13 часов 7 минут
Точнее оно запускается устанавливается, а потом выдает "в приложении произошла ошибка
"
Ответ: Поднимаю тему! У меня в VisualStudio2013 так вообще стандартное приложение не запускается(на моем телефоне, а в эмуляторе запускается), которое автоматически генерируется.
Вопрос: Как найти файл в Android Studio

Народ, подскажите пожалуйста... Мое приложение создает файл с текстовыми данными по нажатию кнопки. Как в Андроид Студио, в эмуляторе найти этот файл? В Эклипсе был свой File Explorer, а здесь че то не могу найти...
Заранее спасибо!
Ответ:
Сообщение от Elkatib
vxg, в этом и проблема, я не могу найти её в списке. Что-то я делаю не так, но не могу понять, что именно.
Возможно проблема в том что вы используете эмулятор с API 24 или 25.
Попробуйте с версией 23 и ниже.
Вопрос: Что происходит при открытии файла (любого) в проводнике

Будь-то картинка или медиа файл, но при клике на него в проводнике он наверно посылает intent с uri то ли с path. Но как потом в Activity считать эту информацию чтобы открыть этот файл?
Ответ: REALIST07, А как получить этот intent? Так может?
Java
1
2
        Intent intent = getIntent();
        getPath(intent.getData())
Добавлено через 11 часов 36 минут
Да, так работает.