2012-11-28 13 views
10

Androidのギャラリーの[共有]ボタンに自分のアプリを追加することに成功しましたので、クリックするとアプリが起動します。私のアプリのどのアクティビティを開始するかを選択できますか? これで「メイン」が起動します。Androidアプリをギャラリーの[共有]ボタンに追加します

.....   
    Intent intent = getIntent(); 
    Bundle extras = intent.getExtras(); 
    String action = intent.getAction(); 

    // if this is from the share menu 
    if (Intent.ACTION_SEND.equals(action)) { 
     if (extras.containsKey(Intent.EXTRA_STREAM)) { 
      // Get resource path 
     } 
    } 

とマニフェスト:ここに私のメインクラスのコードです

実際に
<intent-filter> 
    <action android:name="android.intent.action.SEND" /> 
    <category android:name="android.intent.category.DEFAULT" /> 
    <data android:mimeType="image/*" /> 
</intent-filter> 

私は「メイン」を開始した直後に新しいアクティビティを開くことに成功するが、私は直接開くことが好むだろう右のもの おかげ

答えて

23

はあなたがMainMediaShareを言って、マニフェストファイル内の2つのアクティビティを持っていた場合、それは次のようになりますあなたのマニフェスト

<activity android:name=".Theme" 
      android:label="MAIN"> 
    <intent-filter> 
    <action android:name="android.intent.action.MAIN" /> 
    <category android:name="android.intent.category.LAUNCHER" /> 
    </intent-filter> 
</activity> 

<activity android:name=".Theme" 
      android:label="ActiVITY2"> 
    <intent-filter> 
    <action android:name="android.intent.action.SEND" /> 
    <category android:name="android.intent.category.DEFAULT" /> 
    <data android:mimeType="image/*" /> 
    </intent-filter> 
</activity> 
+0

これは簡単ですか? :)うん、それは働いた!感謝の男 – phcaze

+0

@jaumardちょっとあなたの答えは私を助けますが、私は1つのアクティビティで画像ビューで共有したい画像が欲しいです。これどうやってするの ? –

+0

@AndroidKiller use:Uri imageUri =(Uri)intent.getParcelableExtra(Intent.EXTRA_STREAM);単一のイメージの場合、またはArrayListを使用する場合 imageUris = intent.getParcelableArrayListExtra(Intent.EXTRA_STREAM);複数の画像の場合 –

6

に開始したいアクティビティの下に、あなたのインテントフィルタを入れてください:

<activity android:name="Main" > 
    <intent-filter> 
     <action android:name="android.intent.action.MAIN" /> 
     <category android:name="android.intent.category.DEFAULT" /> 
    </intent-filter> 
</activity> 
<activity android:name="MediaShare" > 
    <intent-filter> 
     <action android:name="android.intent.action.SEND" /> 
     <data android:mimeType="image/*" /> 
    </intent-filter> 
</activity> 

android.intent.action.SENDアクションとandroid:mimeType="image/*"データは、画像を共有するときに開始したいアクティビティと一緒に表示されます。

詳細については、page on Receiving Content from Other Appsを参照してください。

+0

複数の画像を受け取るには: ' Atul

関連する問題