2016-05-06 4 views
1

たとえば、whatsappのユーザーが自分の場所を送信し、メッセージシステムをクリックすると、Googleマップ、yandexマップ、その他。私はマップアプリもそこにいて欲しい。言い換えれば、私はそのシステムが私のアプリを地図アプリケーションとして認識し、ユーザーがwhatsappや他のアプリケーションの場所をクリックすると、私のアプリがシステムchoiseダイアログに現れます。どのようにアプリケーションを開いて場所を設定することができますか?私は検索し、フォーラムやアンドロイドのドキュメントで暗黙の意図を使用することをお勧めします。しかし、彼らはどのようにシステムchoisesで示すアプリケーションを構成するかを示していない。私はMIMEタイプについて聞いたことがありますが、ドキュメンテーションには場所のMIMEタイプはありません。Androidの共有場所を開くときに、私の地図がシステム内で表示されない

答えて

0

にマップURLに応答できるようにintent-filterを追加する必要があります。 URI取得するために

<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="maps.google.com" /> 
    <data android:scheme="https" android:host="maps.google.com" /> 
    <data android:scheme="geo"/> 
</intent-filter> 

:あなたのAndroidmanifest.xmlでアドバイスを

protected void onCreate(Bundle savedInstanceState) { 
    Intent intent = getIntent(); 
    Uri data = intent.getData(); // Here you will receive the URI 

    // ... 
} 
+0

おかげアントニオ、それは)私が欲しい何だったのである)、緯度を取得し、できる方法を教えてくださいこのウリの経度とズームレベル? –

+0

「http://maps.google.com/maps?q = 40.3836251、-2.38361628」のようなUriが表示されます。これは、「http://maps.google.com/maps?q =緯度、経度」を意味します – antonio

+0

あなたはアントニオ、本当に私のために働いた! :) –

0

Implicit Intent年代には、アプリ等よりに他のアプリに事の並べ替えをしている、あなたは逆バージョン(他のアプリからのアプリ)を目指しています。あなたが探しているものはIntent Filterです。ドキュメントごとの通り:

他のアプリは、あなたの活動を開始できるようにするには、対応する<activity>要素のマニフェストファイルに<intent-filter>要素を追加する必要があります。

乾杯! :)

+0

感謝:)返信用 –

関連する問題