gmail.com nicht auf webview arbeiten (nach Anmeldung)
-
25-09-2019 - |
Frage
Ich habe eine Webansicht in meiner Anwendung, die gut für Laden-Websites im Allgemeinen funktioniert. Aber ich kann nicht www.gmail.com zur Arbeit : Wenn ich www.gmail.com öffne ich die Login-Seite zu sehen, die versuchen, Login, danach wird der Bildschirm schwarz und meine app / Prozess abgebrochen wird.
Ich habe nicht viel in meinem logcat sehen, nur einige seltsame Debug-Informationen, wie unten geworfen.
Aber im Allgemeinen https-Sites funktionieren, und noch komplizierte Anmeldeverfahren wie das Öffnen stackoverflow.com, Protokollierung in über openid über https, zurück zu Stackoverflow, alle Arbeiten ohne ein Problem in meinem Webansicht. Nur gmail.com ist mir diese Probleme zu geben.
Edit: Ich fand, dass, wenn ich nicht meine Gewohnheit MyWebViewClient zum webview zuweisen, die App nicht abstürzt, sondern öffnet die gmail Seite im Standardsystem Browser. Aber ich will das nicht. Ich will es nur in meinem eigenen webview öffnen.
habe ich einen Fehlerbericht an http://code.google. com / p / android / Ausgaben / detail? id = 12097 , damit verbunden ist ein sehr einfaches Beispielprojekt arbeiten, das den Absturz wiedergibt.
I/DEBUG ( 2173): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
I/DEBUG ( 2173): Build fingerprint: 'Samsung/GT-I9000/GT-I9000/GT-I9000:2.1-update1/ECLAIR/XWJM6:user/release-keys'
I/DEBUG ( 2173): pid: 6753, tid: 6793 >>> com.myapplication.android <<<
I/DEBUG ( 2173): signal 11 (SIGSEGV), fault addr 0000004c
I/DEBUG ( 2173): r0 00000000 r1 00000000 r2 00000000 r3 aa476ae0
I/DEBUG ( 2173): r4 00000000 r5 4c2f5b74 r6 aa476ae0 r7 00595dec
I/DEBUG ( 2173): r8 4c2f5da8 r9 444a7eb8 10 444a7ea0 fp 004be758
I/DEBUG ( 2173): ip aa4770fc sp 4c2f5b50 lr aa1112bf pc aac0a5ac cpsr 48000030
I/DEBUG ( 2173): #00 pc 0000a5ac /system/lib/libsqlite.so
I/DEBUG ( 2173): #01 pc 001112bc /system/lib/libwebcore.so
I/DEBUG ( 2173): #02 pc 001118e2 /system/lib/libwebcore.so
I/DEBUG ( 2173): #03 pc 00111a80 /system/lib/libwebcore.so
I/DEBUG ( 2173):
I/DEBUG ( 2173): code around pc:
I/DEBUG ( 2173): aac0a59c f7ff60e3 2000fd49 bf00bd70 4604b570
I/DEBUG ( 2173): aac0a5ac 460d6cc0 f7ff4616 f8c4fd9d 230150e0
I/DEBUG ( 2173): aac0a5bc 60e4f8c4 508cf8d4 f885e002 68ad30ff
I/DEBUG ( 2173):
I/DEBUG ( 2173): code around lr:
I/DEBUG ( 2173): aa1112ac 68004905 e0021859 68002100 f6f9460a
I/DEBUG ( 2173): aa1112bc bd10ec32 0036583c ffc9a849 4604b570
I/DEBUG ( 2173): aa1112cc 46281d05 fd64f20b 46286826 60263e01
I/DEBUG ( 2173):
I/DEBUG ( 2173): stack:
I/DEBUG ( 2173): 4c2f5b10 00000000
I/DEBUG ( 2173): 4c2f5b14 aa31c6d3 /system/lib/libwebcore.so
I/DEBUG ( 2173): 4c2f5b18 00000000
I/DEBUG ( 2173): 4c2f5b1c aa011171 /system/lib/libwebcore.so
I/DEBUG ( 2173): 4c2f5b20 00000000
I/DEBUG ( 2173): 4c2f5b24 afe3ae08 /system/lib/libc.so
I/DEBUG ( 2173): 4c2f5b28 afe3db7c
I/DEBUG ( 2173): 4c2f5b2c afe0f170 /system/lib/libc.so
I/DEBUG ( 2173): 4c2f5b30 00000000
I/DEBUG ( 2173): 4c2f5b34 afe3ae08 /system/lib/libc.so
I/DEBUG ( 2173): 4c2f5b38 00595dec [heap]
I/DEBUG ( 2173): 4c2f5b3c afe0f170 /system/lib/libc.so
I/DEBUG ( 2173): 4c2f5b40 00595ddc [heap]
I/DEBUG ( 2173): 4c2f5b44 4c2f5b74
I/DEBUG ( 2173): 4c2f5b48 df002777
I/DEBUG ( 2173): 4c2f5b4c e3a070ad
I/DEBUG ( 2173): #00 4c2f5b50 00595ddc [heap]
I/DEBUG ( 2173): 4c2f5b54 4c2f5b74
I/DEBUG ( 2173): 4c2f5b58 aa476ae0 /system/lib/libwebcore.so
I/DEBUG ( 2173): 4c2f5b5c aa1112bf /system/lib/libwebcore.so
I/DEBUG ( 2173): #01 4c2f5b60 00595ddc [heap]
I/DEBUG ( 2173): 4c2f5b64 aa1118e7 /system/lib/libwebcore.so
D/Zygote ( 2181): Process 6753 terminated by signal (11)
I/ActivityManager( 2237): Process com.myapplication.android (pid 6753) has died.
XML:
<WebView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:theme="@style/Theme.NoBackground"
android:id="@+id/webView"/>
Code:
webView = (WebView)findViewById(R.id.webView);
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setLoadsImagesAutomatically(true);
webView.getSettings().setAllowFileAccess(false);
webView.getSettings().setBuiltInZoomControls(true);
webView.getSettings().setPluginsEnabled(true);
webView.getSettings().setAllowFileAccess(true);
webView.getSettings().setAppCacheEnabled(true);
WebViewClient wv = new MyWebViewClient();
webView.setWebViewClient(wv);
/**
* Customized webview client to allow mp4 to play in mediaplayer.
*/
final class MyWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (url.endsWith(".mp4")) {
Intent intent = new Intent("android.intent.action.VIEW", Uri.parse(url));
view.getContext().startActivity(intent);
return true;
} else {
return super.shouldOverrideUrlLoading(view, url);
// instead of the line above, I have also tried this before without any difference:
// view.loadUrl(url);
// return true;
}
}
Lösung
Ich schließe daraus, ist das ein Fehler. Fehlerbericht ist unter http://code.google.com/p/android / Themen / detail? id = 12097 und ich bekam auch Mark Murphy im Android Dev Mailing-Liste bestätigt, dass es wahrscheinlich eineine niedriges Niveau Android OS Fehler sind.