如何在我的Android应用程序

时间:2017-02-05 14:32:20

标签: java android url webview

您好我有一个webview Android应用程序。有人打开我的应用程序。我的网站在app应用程序中打开应用程序。但是当有人在自己的浏览器中调用我的网站网址时,我想在应用内打开网址。

E.g。当我打电话给www.fb.com/somepage时,facebook会在我的手机中直接打开自己的应用程序。我不会通过浏览器访问页面我尝试这样做。我该怎么办?

我搜索了每一个想象,我找不到有用的文章。我搜索了支持的网址或支持网页的android。我发现了很多东西。他们写了很多代码。我不认为我需要很多代码来抓住我的网站网址。我不对吗?

我已经有了webview应用程序。如果我会像清单或主要活动文件中的某些内容那样做一些简单的方法。我想这样做。

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

您需要的查看操作intent-filter,您需要链接到网址

在您的Manifest XML文件中... View intent表示BROWSABLE类别响应Web URI时的操作。

定义方案

<activity android:name=".MainActivity>
    <intent-filter>
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />
        <data android:scheme="http" 
         android:host="your-website.com" 
         android:path="/somepage/" />
    </intent-filter>
</activity> 

但是,用户必须已安装您的应用,否则他/她将在浏览器中收到错误消息。你绝对需要一个后备。处理错误问题的一种方法是使用一些Javascript检查来验证用户是否安装了应用程序(如果您使用像AngularJS这样的Javascript,则可以将其绑定到onclick。如果不是,您可以使用某种类型的重定向Javascript或没有)。如果未安装该应用,则用户会转到常规网站网址。否则,他/她会跳到app。

处理未安装该应用的用户的重定向

在您的网站文件或模板文件中,使用Javascript

<script>
  //any conditional logic 
  if( navigator.userAgent.match(/android/i) ) {
  // redirect to App
  } else {
  // stay/redirect to website or something like getting them to install the app  
  }
</script>

现在,当用户点击<a href="http://yourweb.com/somepage/">Your Text </a>时,他/她就可以访问该应用,但如果未安装该应用,他/她将进入浏览器或Play商店的页面(请参阅下面的注释)。

其他选项

another way of doing all of the above。您可以拥有自己的自定义URI,而不是defing http方案。

<intent-filter>
  <data android:scheme="your-custom-URI" />

</intent-filter>

并在您的网页模板文件中,用于重定向回退的某种条件...

<a href="your-custom-URI://somepage">Your Text</a>

额外备注

  • 需要您注意的事情涉及某些浏览器细节。以下是Google Chrome treats the subject

  • 的方式
  • 如果您在Play商店中拥有自己的应用,则可以将用户引荐至market://details?id=com.your.app.package进行下载。

  • 您可以使用某些Javascript库实现更多功能 您网站上的AngularJS,Vue等。