解决了的。
我的项目主持AdMob广告,我称
MobileAds.initialize()
我的方法
Application
班
onCreate()
. ADS初始值设定项加载
WebView
现在禁止在调用
WebView.setDataDirectorySuffix("dir_name_no_separator")
方法。
当创建第二个进程时,它也会经历相同的应用程序创建流,这意味着它调用相同的
创建())
在
应用
类,它调用
mobileads.initialize()。
尝试创建新的
Web视图
实例和由此导致的崩溃。
IllegalStateException: Can't set data directory suffix: WebView already initialized
我是怎么解决的?
我使用下面的方法获取进程名,并检查它是否是我的主进程-调用mobileads.initialize()方法,如果它是我的第二个进程,则调用
webview.setdatadirectorysuffix(“dir_name_no_separator”)。
方法。
获取进程名称:
public static String getProcessName(Context context) {
ActivityManager manager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
for (ActivityManager.RunningAppProcessInfo processInfo : manager.getRunningAppProcesses()) {
if (processInfo.pid == android.os.Process.myPid()) {
return processInfo.processName;
}
}
return null;
}
应用程序类onCreate():
if (!Utils.getProcessName(this).equals("YOUR_SECOND_PROCESS_NAME")) {
MobileAds.initialize(this);
} else {
WebView.setDataDirectorySuffix("dir_name_no_separator")
}