Comprimento máximo do método putExtra da intenção? (Força perto)
Eu preciso de ajuda para depurar meu aplicativo. Primeiro de tudo: no emulador e em alguns outros dispositivos, meu aplicativo está funcionando bem. No meu dispositivo eu tenho uma força perto (sem uma mensagem de fechamento de força).
O "acidente" acontece se a atividade do aplicativo for alterada.
Aqui está algum código doMainActivity
classe. Apenas lê o conteúdo html de uma página da web em uma visualização da web. E não, não é possível fazer issoHttpRequest
porque não consegui simular o pedido de postagem.
public class MainActivity extends Activity {
public final static String EXTRA_HTML = "com.example.com.test.HTML";
private WebView mWebView;
private ProgressDialog mDialog;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mWebView = (WebView) findViewById(R.id.webView1);
CookieSyncManager.createInstance(this);
CookieManager cookieManager = CookieManager.getInstance();
cookieManager.removeAllCookie();
mWebView.setBackgroundColor(0);
mWebView.setWebChromeClient(new WebChromeClient() {
public boolean onConsoleMessage(ConsoleMessage cmsg) {
if (cmsg.message().startsWith("MAGIC")) {
mDialog.cancel();
/*HashMap<String, String> message = new HashMap<String, String>();*/
String msg = cmsg.message().substring(5);
Intent intent = new Intent(MainActivity.this,
ReadDataActivity.class);
/*message.put("message", msg);*/
/*intent.putExtra(EXTRA_HTML, message);*/
intent.putExtra(EXTRA_HTML, msg);
startActivity(intent);
}
return false;
}
});
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.getSettings().setPluginState(PluginState.OFF);
mWebView.getSettings().setLoadsImagesAutomatically(false);
mWebView.getSettings().setBlockNetworkImage(true);
mWebView.getSettings().setAppCacheEnabled(true);
mWebView.getSettings().setSavePassword(true);
mWebView.getSettings()
.setCacheMode(WebSettings.LOAD_NORMAL);
mWebView.setWebViewClient(new WebViewClient() {
public void onPageFinished(WebView view, String address) {
if (address.indexOf("mySession") != -1) {
view.loadUrl("javascript:console.log('MAGIC'+document.getElementsByTagName('html')[0].innerHTML);");
}
});
mWebView.loadUrl("http://www.myurl.de");
}
Então, noonConsoleMessage()
Eu apenas passo o código html para outra classe Activity que lê, analisa e exibe o conteúdo.
O problema agora é que, neste momento, quando oReadDataActivity
classe deve ser carregado o aplicativo apenas fechar e voltar para a tela inicial sem qualquer mensagem ou diálogo do usuário.
É possível que o código html que é passado como uma string para oReadDataActivity
é grande? Eu também tento adicionar o código html como uma string em um HashMap, mas o problema é o mesmo.
Algumas idéias o que posso fazer para depurar o problema? Talvez eu deva tentar criar umParcelable
objeto?
No emulador tudo está funcionando bem.