Есть простой WebView который открывает текстовый документ. Код ниже,если нужно
public class ValkyriaViewActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_stigmata_view);
WebView webView = findViewById(R.id.webView);
webView.setBackgroundColor(Color.parseColor("#CCCCCC"));
Intent intent = getIntent();
//получаем строку и формируем имя ресурса
String resName = "v" + intent.getIntExtra("mValkyrieName", 0) + "s" + intent.getIntExtra("mSuitName", 0);
Log.i("name", resName);
Context context = getBaseContext();
String text = readRawTextFile(context, getResources().getIdentifier(resName,
"raw", "хххх"));
webView.loadDataWithBaseURL("file:///android_res/raw/",text,"txt/html","UTF-8",null);
}
private String readRawTextFile(Context context, int resId)
{
InputStream inputStream = context.getResources().openRawResource(resId);
InputStreamReader inputReader = new InputStreamReader(inputStream);
BufferedReader buffReader = new BufferedReader(inputReader);
String line;
StringBuilder builder = new StringBuilder();
try {
while (( line = buffReader.readLine()) != null) {
builder.append(line);
builder.append("\n");
}
} catch (IOException e) {
return null;
}
return builder.toString();
}
}
Код в текстовом документе
<a href="file:///android_res/raw/open/ххх">........</a>
Я хочу что бы в одном текстовом документе можно было открыть другой,вот ошибка которая выходит в Android Studio и приложение вылетает
E/AndroidRuntime: FATAL EXCEPTION: main
Process: ххх, PID: 27080
android.os.FileUriExposedException: file:///android_res/raw/v0s1.txt exposed beyond app through Intent.getData()
Находил в интернете решение с использованием provider_patchs,но мне кажется,оно мне не поможет,ведь текстовый файл открывает грубо говоря не студия,а другой текстовый документ.
Может есть какие нибудь способы обойти эту ошибку?