我有一个 Web 应用程序显示在 Android 上的 WebView 中。它可以通过浏览器界面制作照片。这适用于 8.1 之前的 Android 版本,但问题是,在 Android 8.1 版本上,相机无法打开(除了普通相机视图之外,没有显示任何内容),并且在拍摄快照时,结果照片始终是黑色的。
我使用的是 Chrome WebView v71.0.3578.99,但实际上即使在 Android WebView 上也存在问题。
所有必要的权限均已成功授予。
我在日志中找不到任何有用的内容,尝试了 WebView 调试但无济于事。
我使用的是 dagger 2.24,没有 dagger-android。我的组件设置如下:
@Singleton
@Component(modules = [
FirebaseModule::class,
ViewModelFactoryModule::class,
DispatcherModule::class,
NetworkModule::class
])
interface AppComponent {
fun getSignInComponent(): SignInComponent
fun getMapComponent(): MapComponent
// some other subcomponent creation methods
fun getNewMeetingComponent(): NewMeetingComponent // THIS method is not implemented by DaggerAppComponent
@Component.Factory
interface Factory {
fun create(
@BindsInstance context: Context
// some other dependencies
): AppComponent
}
}
/////////////////////////////////////////////////////////////////////
@ViewScope
@Subcomponent(modules = [NewMeetingModule::class])
interface NewMeetingComponent {
fun inject(newMeetingActivity: NewMeetingActivity)
}
Run Code Online (Sandbox Code Playgroud)
发生的情况是 dagger 生成所有子组件创建方法,如下所示:
@Override
public SignInComponent getSignInComponent() {
return new SignInComponentImpl();
} …Run Code Online (Sandbox Code Playgroud)