Я прочитал documentation о получении простых данных. Я хочу получить URL-адрес, т. Е. text/plain из других приложений.Получение данных из других приложений - android
Итак, я объявил только этот пристальный фильтр:
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="text/plain" />
</intent-filter>
В моих MainActivity.class:
void onCreate (Bundle savedInstanceState) {
...
// Get intent, action and MIME type
Intent intent = getIntent();
String action = intent.getAction();
String type = intent.getType();
if (Intent.ACTION_SEND.equals(action) && type != null) {
if ("text/plain".equals(type)) {
handleSendText(intent); // Handle text being sent
}
}
}
Я обработки полученный текст:
void handleSendText(Intent intent) {
String sharedText = intent.getStringExtra(Intent.EXTRA_TEXT);
if (sharedText != null) {
// Update UI to reflect text being shared
textBox.setText(sharedText);
}
}
Но, docum что я должен тщательно обрабатывать типы MIME других типов.
1) Но, так как я только зарегистрирован для обычного/текстового кода, мне нужен код обработки типа больше?
2) Кроме того, ссылаясь на документы:
Имейте в виду, что, если эта деятельность может быть запущен из других частей системы, таких как пусковой, то вам нужно будет принять это во внимание при рассмотрении Цель.
MainActivity.java также запускается LAUNCHER. Как мне это обработать?
3) Как только пользователь выбирает мое приложение из диалога, открывает ли он это приложение во всех случаях? Мне не нужно открывать приложение. Могу ли я обойти это?
EDIT: Мне не нужен пользовательский интерфейс для моего приложения. Но я хочу получить текст.
'нужен ли мне код обработки типов?'. Ну, ты именно это узнаешь. В каких сценариях теперь запускается ваше приложение для типов, которые вы не обрабатываете? – greenapps
Поскольку мое приложение зарегистрировано только для «text/plain» в фильтре намерений, мое приложение не отображается, когда пользователь хочет поделиться другими типами изображений. Итак, мне все еще нужно это обработать? – Nikhil
Если ваше приложение не отображается. Поэтому не запускается. Тогда о чем вы беспокоитесь? Если вы беспокоитесь, просто покажите Toast(), говоря, что вам жаль. – greenapps