Android intent как “Поделиться” двумя строками?

348
29 января 2017, 13:00

Я пытался сделать встроенный редактор 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);
        }
    }

Почему это не работает?

Answer 1

Запустить этот код на телефоне (на эмуляторе работать не будет):

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)

READ ALSO
Чтение переменной реестра с типом reg_binary

Чтение переменной реестра с типом reg_binary

Как считать значение переменной реестра типа reg_binary? К примеру значение переменной типа reg_sz читаю кодом нижеНо при попытке обратиться к типу...

364
Выборка из БД Realm Android

Выборка из БД Realm Android

Решил попробовать данную БД для работы, но никак не пойму, как вытаскивать оттуда данныеЗанести получилось, потом использую: realm

534
DIV Внутри DIV-a

DIV Внутри DIV-a

Как сделать так, чтобы DIV который находится внутри основного DIV-a, выделялся на нем только в определенном месте? Выглядит это так: основной...

322