В настоящее время я показываю кучу данных пользователю как HTML в веб-просмотре. У меня есть некоторые ссылки ниже каждой записи, которая должна вызывать метод в моем приложении при нажатии. Интерфейс JavaScript Android WebView кажется лучшим (только?) Способом обработки этих вещей. Однако, всякий раз, когда я нажимаю ссылку, я получаю это сообщение об ошибке: ERROR/Web Console(6112): Uncaught TypeError: Object [my namespace]@4075ff10 has no method 'edit' at [base URL]:55
Я объявляю следующий интерфейс:
public class JavaScriptInterface {
Context context;
JavaScriptInterface(Context c) {
context = c;
}
public void edit(String postid) {
Log.d("myApp", "EDIT!");
//do stuff
}
}
Затем добавлю его в свой WebView:
final WebView threadView = (WebView) findViewById(R.id.webViewThread);
threadView.getSettings().setJavaScriptEnabled(true);
threadView.addJavascriptInterface(new JavaScriptInterface(this), "Android");
И, наконец, я называю это в своем HTML следующим образом:
<div class="post-actions">
<div class="right">
<a onClick="Android.edit('4312244');">Edit</a>
</div>
</div>
Настоящий кикер работает, когда я отлаживаю свое приложение через эмулятор или подключение adb к моему телефону. Когда я создаю и публикую приложение, оно ломается.
Я с ума сошел. Любая помощь или совет будут очень благодарны!