Как перенаправить на URL из фрагмента с помощью кнопки - PullRequest
0 голосов
/ 21 января 2019

Существует аналогичный вопрос для перенаправления из действия,

, но я не смог найти способ сделать это из Fragment.

    override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {

        ...

        view.myButton.setOnClickListener {
            val urlIntent = Intent("android.intent.action.VIEW", Uri.parse(WEBSITE_URL))

            startActivity(urlIntent)
        }

        return view
    }

Приведенный выше код создает исключение:

android.content.ActivityNotFoundException: не найдена активность для обработки Intent {act = android.intent.action.VIEW dat = "https://www.google.com/"}

Я получил экземпляр Main Activity (как MainActivity.instance), поэтому я попытался использовать setClass и setComponent, чтобы попытаться обработать Intent, но безуспешно.

Ответы [ 2 ]

0 голосов
/ 21 января 2019

Это сработало, где MainActivity.instance - это экземпляр хоста фрагмента. Получите хост, используя requireActivity() и т. Д.

    view.myButton.setOnClickListener {
        val urlIntent = Intent(Intent.ACTION_VIEW)
        urlIntent.data = Uri.parse(WEBSITE_URL)
        MainActivity.instance.startActivity(urlIntent)
    }
0 голосов
/ 21 января 2019

Попробуйте это:

String url = "https://www.google.com";
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(url)); 
startActivity(i); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...