У меня есть приложение - текстовый редактор, мной написанное. Сделал, чтобы при открытии в андроид файла через open with и выборе данного приложения текст этого файла отображался в приложении.
Проблема в том, что приложение ничего не показывает, если оно уже было открыто, хотя отображается при этом на передний план.
Что делать?
У меня есть процедура:
public void readOpenWith() {
final Intent intt = getIntent();
final String act = intt.getAction();
if(Intent.ACTION_VIEW.equals(act)){
title.post( new Runnable() {
@Override
public void run() {
title.setText(getFileName(intt.getData().getPath()));
}
});
editTextProg.post( new Runnable() {
@Override
public void run() {
editTextProg.setText(readTextFile(intt.getData()));
}
});
}
}
Которая стоит в методе onCreate
, показывая содержимое файла посредством Open With. Здесь она работает правильно.
Также readOpenWith
стоит в onRestart
, где не срабатывает Open With при открытом заранее приложении.
Поэкспериментировав нашёл, что всё дело в singleTask
в манифесте:
<activity
android:name=".MainActivity"
android:launchMode="singleTask">
</activity>
Отчего я узнал, что нужно добавить в класс MainActivity:
@Override
public void onNewIntent(Intent intt) {
readOpenWith(intt);
}