2016-08-22 204 views
1

我有一個Android應用程序,通過網頁上的意圖打開。這個應用程序做幾件事情,當它完成時,我想在另一個頁面上瀏覽器。 我可以做到這一點,但它打開一個新的標籤,而我想更改頁面而無需打開新標籤。瀏覽器到Android應用程序到瀏覽器

這是我做的:

  Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(callbackUrl)); 
      startActivity(browserIntent); 
      MainActivity.this.finish(); 

有沒有辦法做到這一點?

感謝

+0

顯示生成此代碼。每個問題應附帶一個[最小,完整和可驗證示例](http://stackoverflow.com/help/mcve)。 – nya

回答

0

我找不到任何信息如何在原有的瀏覽器更改數據(和它似乎並沒有一個合理的動作),但在這裏你可以做什麼:

  • 在您網頁生成session_id(USER_ID/whatever_id),並存儲在某個地方(餅乾,本地存儲,或者只是在內存中)
  • 當啓動意圖通過這個ID一起(<a href="my.special.scheme://session_id">
  • 得到這個ID的應用程式,例如描述here
  • 那麼你就必須做一個簡單的Web應用程序,這將節省一對:ID - URL和當你想回到瀏覽器的第一個GET請求
  • 後也將無效,並重定向發送到服務器提到這網址(例如myserver.net/store?id=<session_id_here>&url=google.com
  • 然後簡單的「回」到瀏覽器
  • 當你的網頁恢復活躍得到這個並詢問服務器是否有它的任何URL(如myserver.net/get?id=<session_id_here>
  • 此網址,去它(window.location.href = <url>
+0

它可以是一個選項。我想到了一個等待android應用程序響應的工作,並且在頁面重新加載到我想要的鏈接上時。我不喜歡它,我仍然希望有更好的解決方案。謝謝。 –