Передача данных из Native Activity в WebView - PullRequest
0 голосов
/ 02 декабря 2019

Я пытаюсь передать строку, используя Intent из моей Native Activity, и получить ее в моем классе WebActivity, например:

final String username = getIntent().getStringExtra("USERNAME");

После этого я пытаюсь вызвать функцию Javascript, которая будет использоватьDOM Manipulation для изменения значения входа text на значение username из намерения. Моя проблема:

Это работает (жестко закодированное значение, называемое «тест»):

myWebView.loadUrl("javascript:(function(){document.getElementById('username').value = 'test';})();");

Это не (пытается установить его в значение моего намерения):

myWebView.loadUrl("javascript:(function(){document.getElementById('username').value = "+username+";})();");

Я предполагаю, что, возможно, я неправильно обертываю значение username, но использование его в том виде, в котором оно у меня сейчас, вообще не изменяет ввод текста.

1 Ответ

0 голосов
/ 03 декабря 2019

С помощью пользователя Майк М. Я смог увидеть, что я совершил две ошибки:

  • Неправильно поставлен дополнительный
  • Отсутствует синглкавычки
Intent myWebIntent = new Intent(MainActivity.this, MyWebActivity.class);
myWebIntent.putExtra("USERNAME", s); // this line needs to go before startActivity()
startActivity(battleShipIntent);

Значение username должно быть заключено в одинарные кавычки, например:

myWebView.loadUrl("javascript:(function(){document.getElementById('username').value = '"+username+"';})();");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...