Кнопка возврата в приложение после открытия браузера - PullRequest
0 голосов
/ 09 ноября 2018

У меня есть веб-просмотр, который загружает определенный веб-сайт, пользователь должен выполнить проверку, которая может быть выполнена только браузером, пользователь нажимает на ссылку и открывает браузер Android и выполняет эту проверку, можно создать кнопка «Назад» для приложения в верхней части браузера, потому что после проверки пользователь не может вернуться к приложению, на iphone есть контроллер навигации, и когда пользователь нажимает на ссылку, открывающую браузер, создается Кнопка назад на верхней части мобильного телефона возможна на Android?

1 Ответ

0 голосов
/ 09 ноября 2018

Не напрямую.

Я вижу, что вы можете работать с этим ограничением двумя способами.

  1. Сделайте тост, чтобы сказать пользователю, чтобы он вернулся в ваше приложение.
  2. Используйте сенсорное наложение и добавьте его на экран, когда пользователь выполняет действие, которое направляет их в браузер. Когда этот оверлей коснется, ваше приложение будет «перезапущено».

Вы можете сделать простой кликабельный оверлей, например:

ImageView button = new ImageView(context); //this can be any View you want, even your own custom subclass
button.setImageResource(R.drawable.back); 
button.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        //handle relaunching your app here
    }
})

WindowManager.LayoutParams params = new WindowManager.LayoutParams();
params.height = 50; //height and width are in pixels
params.width = 50;
params.type = Build.VERSION.SDK_INT > Build.VERSION_CODES.N_MR1 ? 
                WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY : 
                WindowManager.LayoutParams.TYPE_PHONE;
params.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE;
params.gravity = Gravity.TOP | Gravity.START;

WindowManager manager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
manager.addView(button, params); //add the button to the screen

manager.removeView(button); //remove the button from the screen

Для этого вам понадобится SYSTEM_ALERT_WINDOW_PERMISSION: Как обрабатывать разрешение SYSTEM_ALERT_WINDOW, которое не предоставляется автоматически на некоторых устройствах перед зефиром

Чтобы перезапустить приложение, добавьте launchMode="singleInstance" к тегу Activity в вашем AndroidManifest, а затем просто используйте startActivity() для него из метода onClick().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...