Результат при сканировании штрих-кода часто не является действительным URL-адресом.Часто это просто строка из нескольких цифр.У него нет схемы или протокола , поэтому (очень возможно) не определено, "какой это тип локатора ресурсов".Android-намерение ACTION_VIEW в основном использует эту информацию, чтобы решить, «запустить какое приложение / действие, чтобы открыть этот URL».Из-за недостатка важной информации Android не знает, как ее открыть.
Вы можете указать некоторые случаи для обработки результата.Например, если результат начинается с «http://"» или «https://",», используйте для обработки непосредственно свой код, но если это просто строка чисел, отобразите его напрямую или добавьте после какой-либо строки, прежде чем использовать для Uri.parse
, например "https://google.com/search?q=", для поиска значения этого штрих-кода, как вы хотите, или других вещей, которые вы хотите сделать с этим 13-значным результатом.
Например, (код ниже записан вМобильный телефон не был протестирован, просто покажите идею):
@Override
public void onClick(DialogInterface dialog, int which) {
Intent browserIntent;
if (myResult.startsWith("http://") || myResult.startsWith("https://"))
browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(myResult));
else
browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://google.com/search?q=" + myResult));
startActivity(browserIntent);
}