#android #android-textinputedittext #inputconnection
#Android #android-textinputedittext #входное соединение
Вопрос:
У меня есть своя собственная клавиатура, поэтому, используя метод ввода клавиатуры, я получаю весь текст из edit text, будь то из моего собственного приложения или даже из стороннего приложения. Все, что работает должным образом, ожидает все приложения Microsoft. Они предоставляют мне только ограниченный текст символов. Итак, как мне добиться этого и в приложениях Ms? Это мой код для получения текста с клавиатуры.
ExtractedTextRequest extractedTextRequest = new ExtractedTextRequest();
ExtractedText extractedText = getCurrentInputConnection().getExtractedText(extractedTextRequest, 0);
wordReadAloud = ((String) extractedText.text);
CharSequence textBeforeCursor = getCurrentInputConnection().getTextBeforeCursor(wordReadAloud.length(), 0);
Комментарии:
1. Не умер, но как мы можем вам помочь, если вы предоставили только 4 строки кода? Как вы «получаете текст из стороннего приложения»? Используя AccessibilityService? Использование модуля Xposed (требующего Root-прав)? И другие вопросы по многим вопросам …. Вы просто пишете что-то вроде «Я не могу сделать X, пожалуйста, помогите», ничего не предоставляя……
Ответ №1:
Простой ответ на этот вопрос заключается в том, что вы не можете этого сделать. Архитектура Android не позволяет вам брать компоненты (строки, изображения, мультимедиа и т. Д.) Из другого приложения, Если разработчик этого приложения не намерен делиться этими вещами. Так что создавайте свой собственный контент.
Комментарии:
1. Но я получил полный текст из другого приложения, ожидающего все приложения ms. У меня есть своя собственная клавиатура, поэтому я могу получить текст, используя приведенный выше код. Просто проблема с приложениями Ms. Они дали нам некоторый ограниченный текст.
Ответ №2:
вы можете отправить, используя этот код, пожалуйста, проголосуйте после решения вашей проблемы
Intent sendIntent = new Intent(Intent.ACTION_SEND);
sendIntent.setType("text/plain");
sendIntent.putExtra(Intent.EXTRA_TEXT, "This is my text to send.");
Intent shareIntent = Intent.createChooser(sendIntent, "Your Post IS Ready to share");
context.startActivity(shareIntent);
Комментарии:
1. Я хочу получить полный текст из другого приложения
2. можете ли вы дать мне простую демонстрацию, чтобы я мог предложить вам после этого посмотреть демонстрацию
3. привет @PravinSuthar ваша проблема была решена с помощью today поделитесь кодом, пожалуйста, выполните свою задачу
Ответ №3:
во-первых, вы установили в файле манифеста, в каком действии или первом действии вы хотите получить данные
ссылочный URL-адрес — https://developer.android.com/training/sharing/receive
во-первых, я должен попробовать этот пример, после чего я должен поделиться с вами кодом, поэтому, пожалуйста, после
полного понимания, а затем голосования, не получите неправильный голос без вашего тестирования…
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="image/*" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="text/plain" />
</intent-filter>
после этого получите данные намерения в действии…
Intent intent = getIntent();
String action = intent.getAction();
String type = intent.getType();
if (Intent.ACTION_SEND.equals(action) amp;amp; type != null) {
if ("text/plain".equals(type)) {
handleSendText(intent); // Handle text being sent
} else if (type.startsWith("image/")) {
handleSendImage(intent); // Handle single image being sent
}
} else if (Intent.ACTION_SEND_MULTIPLE.equals(action) amp;amp; type != null) {
if (type.startsWith("image/")) {
// handleSendMultipleImages(intent); // Handle multiple images being sent
}
} else {
// Handle other intents, such as being started from the home screen
}
}
void handleSendText(Intent intent) {
String sharedText = intent.getStringExtra(Intent.EXTRA_TEXT);
if (sharedText != null) {
// Update UI to reflect text being shared
Log.e("textData", "handleSendText: " sharedText);
}
}
void handleSendImage(Intent intent) {
Uri imageUri = (Uri) intent.getParcelableExtra(Intent.EXTRA_STREAM);
if (imageUri != null) {
// Update UI to reflect image being shared
Log.e("ImageData", "handleSendImage: " imageUri);
}
}