与保持解决方案的日志无关:
W / cr_AwAutofillManager:禁用WebView自动填充,因为未使用活动上下文创建WebView。
我对android没有太多经验,我尝试了一些调整,例如调用setImportantForAutofill()和setAutofillHints以及其他引用自动填充的方法调用。
LoginApplication.java(扩展了AppCompatActivity)
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
MainApplication.getMyComponent().inject(this);
setContentView(R.layout.activity_login);
WebView loginWebView = findViewById(R.id.weblogin);
loginWebView.setWebViewClient(new CustomWebClient(storage, keycloakService, this));
WebSettings webSettings = loginWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
webSettings.setSupportMultipleWindows(true);
loginWebView.loadUrl(authCodeUrl.toString());
}
activity_login.xml
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".auth.LoginApplication">
<WebView
android:id="@+id/weblogin"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</FrameLayout>
AndroidManifest.xml的一部分
<activity
android:name=".auth.LoginApplication">
<intent-filter android:autoVerify="true">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:host="com.criticalsoftware.pulsar.android.client"
android:path="/oauth2redirect"
android:scheme="https" />
</intent-filter>
</activity>