获取调用应用程序的浏览器的包名称,然后调用浏览器



我的应用程序目前可以被所有浏览器调用,但有一个要求是我需要在最初调用应用程序的浏览器中打开一个网页。

而来自How can I open a URL in Android的解决方案';我的应用程序中的web浏览器?可以启动意图并让用户选择哪个浏览器来响应该意图。我想让应用程序打开用户以前用来调用我的应用程序的浏览器(通过单击网络链接(,这样用户就不会感到困惑,从而获得更好的用户体验。

不能保证您可以获得调用应用程序的名称。因为您所说的浏览器可能不会使用startActivityForResult启动您的应用程序然而,如果是这样,你可以通过获得它的包名

getActivity().getCallingPackage()

试试这个代码:

Intent browserIntent=new Intent("android.Intent.action.VIEW",Uri.parse("http://"((
ResolveInfo ResolveInfo=getPackageManager((.resolveActivity(browserContent,PackageManager.MATCH_DEFAULT_ONLY(;

//这是默认浏览器的packageName字符串packageName=resolveInfo.activityInfo.packageName;

最新更新