resolveActivity работает, если я не проверяю, является ли он нулевым - PullRequest
2 голосов
/ 14 июля 2020

Я написал этот код для открытия веб-сайта в браузере из моего приложения в android studio (google):

 String google = "http://www.google.com";
 Uri webAddress = Uri.parse(google);

Intent goToGoogle= new Intent(Intent.ACTION_VIEW, webAddress);


if(goToGoogle.resolveActivity(getPackageManager()) != null) {
                startActivity(goToGoogle);
            }

приложение просто делает то, что я хочу, когда я не ставлю оператор if, в противном случае кнопка ничего не делает. Почему?

спасибо

1 Ответ

0 голосов
/ 14 июля 2020

Метод resolveActivity() возвращает компонент действия , который используется для обработки намерения , поэтому, если есть действие, обрабатывающее намерение, оно вернет true

Убедитесь, что Activity обрабатывает ваше намерение, поместив этот код в класс java Activity.

String google = "http://www.google.com";
 Uri webAddress = Uri.parse(google);

Intent goToGoogle= new Intent(Intent.ACTION_VIEW);
goToGoogle.setData(webAdress);


if(goToGoogle.resolveActivity(getPackageManager()) != null) {
                startActivity(goToGoogle);
            }
...