- Речь в текст в эмуляторе: Активность не обнаружена для обработки Intent
- android.content.ActivityNotFoundException:
- android.content.ActivityNotFoundException: No Activity found to handle Intent #340
- Comments
- ar-g commented Nov 2, 2020 •
- lbalmaceda commented Nov 2, 2020
- ar-g commented Nov 3, 2020
- mrarronz commented Dec 7, 2020
- lbalmaceda commented Dec 28, 2020
- mrarronz commented Jan 4, 2021
- lbalmaceda commented Jan 4, 2021
- stale bot commented Apr 7, 2021
- IgorGanapolsky commented Jun 25, 2021
- lbalmaceda commented Jun 30, 2021
- IgorGanapolsky commented Sep 23, 2021
Речь в текст в эмуляторе: Активность не обнаружена для обработки Intent
Я хочу спросить, как я могу использовать речь в текстовом коде на моем эмуляторе. Мои коды работают на реальном устройстве, но не работают на эмуляторе. Ошибка сказала:
Что я могу сделать?
Вам нужно установить на свой эмулятор приложение, содержащее действие, которое обрабатывает RECOGNIZE_SPEECH -intent. Возможно, вы найдете Google VoiceSearch.apk в Интернете.
Есть определенные вещи, которые вы не можете проверить с помощью эмулятора. Речь идет о тексте.
Я не уверен в этом, но вы не можете использовать эту функцию Android с эмулятором.
Независимо от того, вы должны обработать это исключение с помощью try / catch и дать некоторую обратную связь пользователю.
Вы можете проверить, есть ли эта Activity в текущем устройстве, на котором работает ваше приложение, что-то вроде:
Дайте мне знать, если это поможет.
Вам необходимо установить приложение com.google.android.voicesearch на целевое устройство, у которого нет активности распознавания голоса, например:
Если вы попытаетесь установить приложение Google Search – это не поможет, поскольку он не содержит движок VR внутри и, следовательно, он попытается сделать то же самое – установите приложение com.google.android.voicesearch , но оно может выйти из строя из-за Ошибка в имени пакета ( pname:com.google.android.voicesearch вместо простого имени пакета). Однако установка com.google.android.voicesearch может быть невозможной из-за того, что «недоступно в вашей стране».
Возможно, вам понадобится виртуальная SD-карта. Вы можете обратиться сюда
Источник
android.content.ActivityNotFoundException:
Я получаю это исключение, пока я пытаюсь вызвать действие из другого. Полное исключение
Android.content.ActivityNotFoundException: Не удается найти явный класс активности
;
Я делаю intent.setClass(«com.xy»,»com.xyclassName») где className – это имя моего класса активности, а com.xy – это пакет, в котором он находится.
Мой AndroidManifest.xml имеет следующее содержание:
Я что-то пропустил?
Возможно, вам нужно проверить, что вы добавили новую активность в файл manifest.xml
Если другие люди сталкиваются с чем-то похожим и приходят на этот пост, проблема, которую я могу, может сэкономить вам некоторое время. Может быть не связано с проблемой OP, но def связано с исключением ActivityNotFound.
Я пытался загрузить активность, используя:
Однако я постоянно продолжал получать ActivityNotFoundException хотя я проверял и повторно проверял код несколько раз.
Это исключение, которое я получал, на самом деле не было вызвано намерением, но какой-то код, который я запускал внутри загруженной активности, бросая RuntimeException . (Моя проблема была вызвана Typeface.createFromAsset() )
Возможно, вы работаете с аналогичным RuntimeException в своей деятельности.
Чтобы убедиться, что это так, поместите свой код намерения в блок catch catch. Вот так:
Запустите приложение еще раз и проверьте свой LogCat, если это та же проблема, вы получите исключение RuntimeException с записью «Caused By:», указывающей на вашу актуальную проблему.
Я потратил хороший час, пытаясь понять это. Надеюсь, это может сэкономить время.
Вызываемая вами деятельность должна появляться не только в манифесте для собственного пакета, но и в манифесте для пакета CALLING.
Удалите свою активность из манифеста, а затем добавьте ее снова. Этот тип не записывает напрямую XML. Вместо этого перейдите в Application > Application nodes > add , выберите Activity и затем найдите источник файла.
Это сработало для меня.
Intent.setClass принимает параметры как «Контекст пакета» и «Класс». Примером может служить:
Также вам нужно проверить, зарегистрирована ли активность в файле манифеста.
Добавлено новое действие и определило его в файле manifest.xml, но я все еще получал ошибку «Не удалось найти явный класс активности». Я использую Eclipse. Решение моей проблемы заключалось в «очистке» проекта. Из главного меню в Eclipse: Project | Clean … Затем вы выбираете свой проект и очищаете его.
Эй, вам нужно использовать другую конструкцию Intent. Это наверняка решит проблему в течение секунды:
Это отлично работает, и я проверил этот код, работая правильно.
У меня было ActivityNotFoundException, когда я реализовал Activity внутри другого класса (как внутренний класс):
Объявлено как внутри манифеста следующее:
Объявив это как обычный класс (public class PrefActicity) и соответствующим образом изменяя манифест, он работал как обычно.
Я использовал getActivityContext() (вместо Activity.this ) для кода меню, чтобы сохранить некоторую работу, и копировать и вставлять ее в каждый вид деятельности без редактирования каждый раз.
Я заменил их Activity.this , и проблема исчезла.
У меня есть чувство, что умный парень Android может работать, не имея необходимости делать это. Хотелось бы услышать, что это будет.
Посмотрите на документацию, что вы хотите:
Перезапустите Eclipse и снова проверьте свой манифест. Если вы не нашли соответствующее действие, добавьте его и повторите попытку. Он решил мою аналогичную проблему.
Intent.setClassName («com.xy», «com.xyclassName»);
Это работает для меня
В дополнение к ответу Мины. Когда вы объявляете активность как внутренний статический класс, тогда вы должны написать свою деятельность в манифест, как …
Здесь .app происходит от вашего имени пакета, это может быть .helpers.afdfa $ afda
Моим решением этой ошибки было добавить имя пакета перед именем в манифесте.
У меня были следующие действия:
Мой манифест содержал следующее:
Это решило проблему:
Да, у меня тоже есть эта проблема. Я обновил проект. И тогда все работает нормально.
Когда у меня такая же проблема. Если вы используете файлы классов библиотеки и записываете их в файлы манифеста android, напишите их так же, как и затем удалите файлы манифеста проектов библиотеки этой части >> тогда он будет работать абсолютно ..
Это исключение также возникает, если вы включаете библиотеку в свое приложение и если библиотека вызывает действие, определенное в проекте библиотеки. В этом случае нам нужно объединить манифест библиотеки с манифестом вызова приложения.
С помощью ADT версии 20 мы можем сделать это, добавив инструкцию ниже в project.properties приложения-приложения.
manifestmerger.enabled = верно
Ознакомьтесь с содержимым файла манифеста Android в папке bin проекта. Когда ваше приложение скомпилировано и упаковано, файл манифеста копируется в папку bin. В моем случае манифест в папке bin не согласуется с оригинальным манифестом. Вероятно, это ошибка Eclipse. Я вручную скопировал манифест в папку bin, и он сработал.
Вы можете добавить этот код в файл manifiest.xml
У меня тоже такой же случай. Прочитав ответ Пирсона, я пересмотрел свою деятельность и выяснил, что написал
Но на самом деле это должно быть
И теперь это работает!
Это работает, если у вас есть объект Activity (который нужно запустить):
Деятельность, которую вы вызываете, не содержит «sheme» и содержит фильтр намерений:
Источник
android.content.ActivityNotFoundException: No Activity found to handle Intent #340
Comments
ar-g commented Nov 2, 2020 •
We’re getting quite a few exceptions on the Android side. I believe that the main cause is that we need to handle a case when the Browser app is not available on a specific Android device. So the solution would be to wrap this into the try-catch block and propagate the error to ReactNative and ask the user to download the Browser on the library consumer side. Another option is to check in advance if the browser is available https://developers.google.com/web/android/custom-tabs/implementation-guide#what_happens_if_the_user_doesn%E2%80%99t_have_a_browser_that_supports_custom_tabs_installed
I can create a PR for this to speed things up as this is causes a lot of issues for us.
The text was updated successfully, but these errors were encountered:
lbalmaceda commented Nov 2, 2020
@ar-g I don’t think this exception is for the SDK to handle. In the end, the custom tabs dependency will always fallback to a simple ACTION_VIEW intent passing the URL you want to open as data. You could query the package manager for activies that can resolve that action in advance, before launching the web auth. I find hard to believe that nowadays there are still devices without a single browser app installed. but is still valid to check for availability.
ar-g commented Nov 3, 2020
👍 That’s a fair point, we can do this on the client-side. But since the library fires an intent I thought that would be more appropriate to do it on the library side.
Regarding nowadays devices, we have the Stacktrace:
It only happens on limited set of devices, though, and only Android 9 and 7.1:
LG V35 ThinQ — 25.0%
Nitro_5P — 25.0%
Nokia 2 — 12.5%
Others — 37.5%
mrarronz commented Dec 7, 2020
I have same issue when using react-native-auth0 , from the Firebase console, we can see the crashlytics data in last 90 days:
I agree with @ar-g this should be handled on the library side, it’s strange to do that on client side that you have to check whether an Android device has a browser which supports custom tab before opening an URL.
lbalmaceda commented Dec 28, 2020
@mrarronz How many devices do that % represent?
Having a browser app installed is one of this library’s requirements and there’s nothing it can do when a browser app is missing. Yes, we can make that check internally, but you would still need to catch the error code that we raise and decide how you want to proceed. e.g. showing a dialog telling the user to install a browser app.
To be clear, this library does not require a «Custom Tabs compatible» browser app installed. It will always default to any browser app that is available on the device.
I’m tracking this feature request internally under SDK-2224 .
mrarronz commented Jan 4, 2021
@lbalmaceda This is the crash reported by Firebase in last 90 days, there are over a hundred of users affected by this. With over 10 versions released this issue still exists and even more for latest version.
lbalmaceda commented Jan 4, 2021
Thanks for the details. I’ve updated the labels to signal this is on our side now.
stale bot commented Apr 7, 2021
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. If you have not received a response for our team (apologies for the delay) and this is still a blocker, please reply with additional information or just a ping. Thank you for your contribution! 🙇♂️
IgorGanapolsky commented Jun 25, 2021
I am facing the same error:
android.content.ActivityNotFoundException
at net.openid.appauth.AuthorizationService.prepareAuthorizationRequestIntent
lbalmaceda commented Jun 30, 2021
@IgorGanapolsky the fix for this is available in 2.8.1 . Of course, you would need to capture this error and handle it appropriately. That could imply showing a dialog telling the user they need to download a browser app.
IgorGanapolsky commented Sep 23, 2021
This issue is still happening when targeting API 31 . It has nothing to do with browser being unavailable, as I have Chrome installed on my Android phone.
Источник