繁体   English   中英

如何在C中使用execlp本机函数打开浏览器

[英]How to open browser using execlp native function in C

嗨,我正在研究android应用,其中我使用一个本机c库来实现我的应用中的某些功能。

我正在从本机C代码打开Web浏览器,但是在这里,当开发人员指定默认浏览器的程序包名称和活动名称时,它可以正常工作,但那些没有默认浏览器的手机将无法正常运行,如Motorolo,Nexus手机等。有谷歌浏览器,小米有内置的不同浏览器。

然后,我尝试查找该库项目的ac文件,发现开发人员指定了浏览器的程序包名称和活动名称,这仅是某些手机无法正常运行的原因。

if (version >= 17 || version == 0)
{
    execlp("am", "am", "start", "--user", "0", "-n",
            "com.android.browser/com.android.browser.BrowserActivity",
            "-a", "android.intent.action.VIEW",
            "-d", url, (char *)NULL);
}
else
{
    execlp("am", "am", "start", "-n",
            "com.android.browser/com.android.browser.BrowserActivity",
            "-a", "android.intent.action.VIEW",
            "-d", url, (char *)NULL);
}

我们可以执行简单的action.View而不指定任何浏览器包名称和活动名称。 让OS处理它,以便无论设备上是否有可用的浏览器,我们的源代码都将打开该浏览器。 如果是这样,那么此execlp param值是多少。

提前致谢。

尝试使用不带“ -n ...”的命令

开始-a android.intent.action.VIEW -d http://www.stackoverflow.com

这将在android上打开默认浏览器或显示“选择浏览器”对话框。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM