Longueur maximale d'Intention putExtra méthode? (Force close)

J'ai besoin d'aide avec le débogage mon application. Tout d'abord: Dans l'émulateur et sur certains autres appareils mon application est en cours d'exécution fine. Sur mon appareil, j'ai un force close (sans forcer la fermeture de message).

Le "crash" qui se passe si l'Activité de l'application est modifié.

Voici du code de la MainActivity classe. Il se contente de lire le contenu html d'une page web en plus de webview. Et non, il n'est PAS possible de le faire via le HttpRequest parce que je n'étais pas capable de simuler la requête post.

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");
}

Donc, dans le onConsoleMessage() méthode que je viens de passer le code html à une autre classe d'Activité qui lire, analyser et afficher le contenu.

Le problème est qu'à ce moment, quand les ReadDataActivity classe devrait être chargé de l'application il suffit de fermer et revenir à l'écran d'accueil sans un message ou d'une boîte de dialogue utilisateur.

Est-il possible que le code html qui est passé comme une chaîne de caractères à la ReadDataActivity est grand? J'ai aussi essayer d'ajouter le code html comme une chaîne de caractères dans une table de hachage, mais le problème est le même.

Quelques idées de ce que je peux faire pour déboguer le problème? Je devrais peut-être essayer de créer un Parcelable objet?

Dans l'émulateur tout fonctionne bien.

  • N'utilisez pas l'intention de / des colis pour le big data. L'enregistrer dans un fichier et l'envoyer un lien vers le fichier.
InformationsquelleAutor sk2212 | 2012-09-19