Я пытался сделать встроенный редактор JSON в своём Android приложении. Одна из функций этого редактора - возможность отправить имя файла и его содержимое в любое приложение. Мне нужно передать не как файл, а как текст, поскольку при передаче текста через KDEconnect на ПК открывается текстовый редактор с этим текстом.
Я написал следующий код:
public void shareFile(View view) {
Intent sharingIntent = new Intent(Intent.ACTION_SEND);
sharingIntent.setType("text/html");
sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, Html.fromHtml(fileName.getText().toString() + "<br>" + fileContent.getText().toString()));
startActivity(Intent.createChooser(sharingIntent,getString(R.string.action_share)));
}
У меня такой код выдаёт то, что ни одно приложение это не поддерживает:
Я это побывал на эмуляторе, на котором есть программа отправки e-mail и SMS. Почти любая программа e-mail и SMS может читать 2 строки... После этого я взял код с сайта Android Developers. У меня получилось открыть приложение отправки SMS, но e-mail всё ещё не предлагает.
public void shareFile(View view) {
Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_TEXT, fileName.getText().toString() + "\n" + fileContent.getText().toString());
sendIntent.setType("text/plain");
if (sendIntent.resolveActivity(getPackageManager()) != null) {
startActivity(sendIntent);
}
}
Почему это не работает?
Запустить этот код на телефоне (на эмуляторе работать не будет):
public void shareFile(View view) {
Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_TEXT, fileName.getText().toString() + "\n" + fileContent.getText().toString());
sendIntent.setType("text/plain");
if (sendIntent.resolveActivity(getPackageManager()) != null) {
startActivity(sendIntent);
}
}
HTML не подходит, поскольку его не принимают некоторые программы (например SMS)
Продвижение своими сайтами как стратегия роста и независимости