2012-02-20 7 views
2

私は、別のAndroidデバイスにその場所へのアクセス権を要求する方法を理解しようとしています。たぶんGoogleの緯度を起動するSMSのリンクを介して?ロケーショントラフSMSにアクセスするための許可をリクエストしていますか?

通知またはSMSのように、瞬間的である必要があります。

考えられる最も近い戦略は何ですか?

更新日:

ご回答ありがとうございます。それらをすべて考慮した後、私はまだ採用する戦略について少し混乱しています。

誰かがあなたを拾うために起こっている:

は、おそらく私が実装しようとしている何を伝えることをお勧めします。あなたは彼にリクエストを送信し、彼が受け入れ、アプリはあなたがどれだけ離れているか、そしてどれくらいの時間で彼があなたに行くのかを表示します。

私は、レシーバがそのアプリケーションを使用することを余儀なくされることを強いられたくありませんでした。私は必要条件が却下されるかもしれないと思う。

大変申し訳ございません。

答えて

3

アプリをインストールする必要がありますする受信ユーザを必要としない場合、あなたはそれを報告するウェブジオロケーションAPIを使用して、あなたがコントロールするウェブサイトへのリンクでSMSを送信することができ、位置:http://dev.w3.org/geo/api/spec-source.html

ユーザーがしますSMS内のリンクをクリックする必要がある場合は、そのページが自分の位置にアクセスできるようにするように求められます。これはAndroid搭載端末だけでなく、これらのAPIをサポートするブラウザを搭載した端末でも機能します

2

あなたのアプリがどれほど重いかによって異なります。

私があなたの場合、Appsがセントラルサーバーへの接続を維持するシステムを作成します。そうすれば、何かが起こったときにあなたのAppsに通知することができます。それはシームレスに統合されていても、あなたのアプリケーション(最初は明らかに許可することを許可するようにしてください)が、相互作用なしに要求されたときに位置データを送信できるようにします。

これは明らかに、このような簡単な操作ではバッテリーの消費量が増えますが、これは瞬時の通知を得るための最良の方法です。

別の方法として、カスタムURLスキームを使用して受信者にメールを送信することもできます。

のような:

yourlocationapp://get.location/respond.to 

アプリby settingにURLのようなものを解析することができます:あなたの意図-フィルタで

<data android:scheme="yourlocationapp" /> 

これは、ユーザーのやりとりをより多く必要とします。

+0

問題は、送信者と同じアプリを持つ受信者なしでやってみることです。だから私はGoogle Latitudeが私のための背景に取り組んでいると思ったのですか?それは可能でしょうか? – eskalera

+0

私の最終的な目標は、誰かが何かをインストールする必要がなく、私のアプリでその情報を使用することなく、誰かが私からどのくらい離れているかを知ることです。 – eskalera

+2

この回答にはいくつかの反パターンがあります。サーバーへの接続を常に維持することは、ユーザーのバッテリーにはまったく役に立たず、代わりにc2dm(http://code.google.com/android/c2dm/)のようなものを考慮して通知を受け取ります。共有名前空間に存在するように独自のURIスキームを定義することも控えてください。代わりに、あなたがコントロールするドメインに対応するドメインとパスを持つ標準のhttp URIに応答することができます。 http URIが適切でない場合は、代わりに「インテント:」URIを試してみてください。http://goo.gl/Ka9hE – adamp

関連する問題