[英]How will I open my website inside my android app
您好,我有一個 webview android 應用程序。 當有人打開我的應用程序時。 我的網站在應用程序內作為 webview 應用程序打開。 但是當有人在自己的瀏覽器中調用我的網站 url 時,我想在應用程序內打開 url。
例如,當我撥打 www.fb.com/somepage 時,facebook 會直接在我的手機中打開自己的應用程序。 我不通過瀏覽器訪問頁面我嘗試這樣做。 我會怎么做?
我搜索了我想象的所有內容,但找不到關於它的有用文章。 我搜索了 android 支持的 url 或支持的網頁。 我發現了很多東西。 他們寫了很多代碼。 我不認為我需要很多代碼來捕捉我的網站網址。 我不對嗎?
我已經有了 webview 應用程序。 如果我會做一些簡單的方法,比如清單或我的主要活動文件中的某些更改。 我想這樣做。
謝謝你的幫助
需要的是您要鏈接到url scheme 的View操作的intent-filter
。
在您的清單 XML 文件中... View 意圖表示操作,而 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 或沒有)。 如果未安裝該應用程序,用戶將轉到常規網站 url。 否則,他/她會跳轉到應用程序。
為未安裝應用程序的用戶處理重定向
在您的網站文件或模板文件中,使用 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 商店中的頁面(請參閱下面的注釋)。
其他選項
還有另一種方法可以完成上述所有操作。 您可以擁有自己的自定義 URI,而不是定義 http 方案。
<intent-filter>
<data android:scheme="your-custom-URI" />
</intent-filter>
並在您的 Web 模板文件中為重定向回退提供某種條件......
<a href="your-custom-URI://somepage">Your Text</a>
額外說明
需要您注意的事情涉及某些瀏覽器的細節。 以下是 Google Chrome處理該主題的方式。
如果您的應用在 Play 商店中,您可以推薦用戶到market://details?id=com.your.app.package
下載它。
您可以在您的網站中使用一些 Javascript 庫(例如 AngularJS、Vue 等)實現更多功能。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.