2012-02-20 60 views
2

我想弄清楚如何請求另一個Android設備訪問其位置的權限。也許通過短信上的某個鏈接啓動Google緯度?要求通過短信訪問位置的權限?

重點是它應該是瞬時的,如通知或短信。

您能想到的最接近的策略是什麼?

更新:

謝謝你們所有的答案。考慮到他們,我仍然對採用什麼策略感到困惑。

也許是更好地告訴你,我想要實現:

有人會去接你。您向他發送了一個請求,他接受並且該應用程序會告訴您他離他多遠,以及他需要多長時間才能找到您。

我不希望接收器被迫讓應用程序導致它降低其使用。我想這種必要性可能會被駁回。

對不起。

回答

3

如果你不想接收用戶不得不安裝一個應用程序,你可以用一個鏈接到一個網站,你控制使用Web地理位置API報告發送短信的位置是:http://dev.w3.org/geo/api/spec-source.html

用戶將需要點擊短信中的鏈接,然後系統會提示他們允許該頁面訪問他們的位置。這不僅適用於Android設備,而且適用於任何支持這些API的瀏覽器的設備

2

這取決於你的應用程序有多沉重。

如果我是你,我會寫一個系統,其中應用程序將保持與中央服務器的連接。這種方式可以在發生任何事情時通知您的應用程序。它也可以無縫集成,允許你的應用程序(請確保你明確允許它允許它)發送位置數據,而不需要任何交互。

對於如此簡單的操作,這顯然更耗電量,但這是獲得即時通知的最佳方式。

另一種方法是使用自定義URL方案發送電子郵件給收件人。

如:

yourlocationapp://get.location/respond.to 

你可以解析的網址類型在App by setting

<data android:scheme="yourlocationapp" /> 

在你的意圖過濾器。

雖然這需要更多的用戶交互方式。

+0

問題是我試圖在沒有接收方與發送方具有相同應用的情況下執行此操作。這就是爲什麼我想到谷歌縱橫在我的背景下工作?這可能嗎? – eskalera 2012-02-20 18:57:28

+0

我的最終目標是要知道有人離我多遠,沒有人需要安裝任何東西,並在我的應用程序中使用這些信息。 – eskalera 2012-02-20 18:58:49

+2

答案中有一些反模式。始終保持與服務器的連接不會對用戶電池有好處,請考慮類似c2dm(http://code.google.com/android/c2dm/)而不是從其他地方接收通知。您還應該避免在共享名稱空間中定義自己的URI方案。相反,您可以使用與您所控制的域相對應的域和路徑來響應標準的http URI。如果一個http URI不適合你在做什麼,請嘗試使用「intent:」URI:http://goo.gl/Ka9hE – adamp 2012-02-20 19:04:10