如何使用adb在Chrome中跳过“欢迎页”

w8ntj3qf  于 2023-11-14  发布在  Go
关注(0)|答案(4)|浏览(183)

我尝试使用adb命令行在Google Chrome中打开一个URL。使用以下命令设置“--no-first-run”-

adb shell 'echo "chrome --no-first-run" > /data/local/tmp/chrome-command-line'

字符串
从以下网站获取命令行开关-http://peter.sh/experiments/chromium-command-line-switches/
然后我执行以下命令,

adb -s TA99300UFC shell am set-debug-app com.android.chrome
adb -s TA99300UFC shell am start -n com.android.chrome/com.google.android.apps.chrome.Main -d 'http://wikipedia.org'


“欢迎页面”出现了。
如何跳过此操作并直接转到命令中传递的网站URL?

z4iuyo4d

z4iuyo4d1#

adb shell 'echo "chrome --disable-fre --no-default-browser-check --no-first-run" > /data/local/tmp/chrome-command-line'

字符串
此命令禁用Chrome的欢迎屏幕

blpfk2vs

blpfk2vs2#

set-debug-app命令中添加--persistent标志后,问题得到解决。
因此命令更改为adb -s TA99300UFC shell am set-debug-app --persistent com.android.chrome。之后,chrome://versionCommand line部分下显示chrome --display-fre

0wi1tuuw

0wi1tuuw3#

当我试图以某种方式跳过欢迎页面时,我偶然发现了这个问题。我最终使用以下代码成功做到了这一点:

String context = driver.getContext(); // = "CHROMIUM"
driver.context("NATIVE_APP");
driver.findElement(By.id("com.android.chrome:id/terms_accept")).click();
driver.findElement(By.id("com.android.chrome:id/negative_button")).click();
driver.context(context);

字符串
在Chrome中点击任何不属于网页而是属于Chrome本身的按钮之前,你必须切换到上下文“NATIVE_APP”。之后,你必须通过调用driver.context(context)再次切换回来。
希望我解决了某人的问题,他也是通过谷歌偶然发现这个页面的。

bq8i3lrv

bq8i3lrv4#

set-debug-app解决方案相对丑陋,它要求系统在断点处启动应用程序,等待调试器附加。使用它来禁用应用程序并不理想。
我发现,对于我的用例,禁用应用程序工作得很好:

adb shell pm disable-user --user 0 org.chromium.chrome

字符串
这将为用户0禁用Chrome,该用户是设备的主用户。您可以使用adb shell pm list users列出用户。
然后,您可以使用以下命令重新启用应用:

adb shell pm enable org.chromium.chrome


我还遇到了一些问题,有时在重新启动后不会考虑更改。似乎adb reboot不会在所有情况下刷新所有写入磁盘的操作,我发现使用以下命令请求干净的重新启动:

adb shell am start -a android.intent.action.REBOOT


在所有案件中都有效。
还要注意的是,禁用应用程序的方式在Android版本中已经改变了多次,我列出了截至目前的最新版本,在这里找到一个更详尽的列表:https://android.stackexchange.com/a/208271/141551

相关问题