2012-11-28 38 views
10

Tôi thành công để thêm ứng dụng của mình vào nút "chia sẻ" trong thư viện Android, vì vậy nếu tôi nhấp vào ứng dụng đó, ứng dụng của tôi sẽ bắt đầu. Tôi có thể chọn hoạt động của ứng dụng để bắt đầu không? Bây giờ nó bắt đầu "chính". Dưới đây là mã của tôi trong lớp chính:Android thêm ứng dụng của tôi vào nút "Chia sẻ" trong thư viện

.....   
    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 
     } 
    } 

Và manifest:

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

Trên thực tế tôi thành công trong việc mở một hoạt động mới ngay sau khi bắt đầu "chính" nhưng tôi sẽ thích mở trực tiếp cái đúng. Cảm ơn

Trả lời

23

Đặt lọc ý định của bạn dưới hoạt động bạn muốn bắt đầu vào của bạn manifest

<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

Thật đơn giản? :) Yeah nó đã làm việc! Cảm ơn người đàn ông – phcaze

+0

@jaumard hey câu trả lời của bạn sẽ giúp tôi, nhưng tôi muốn hình ảnh mà tôi muốn chia sẻ trong một lần xem hình ảnh trong một hoạt động. Tôi có thể làm cái này như thế nào ? –

+0

@AndroidKiller sử dụng: Uri imageUri = (Uri) intent.getParcelableExtra (Intent.EXTRA_STREAM); cho một hình ảnh hoặc sử dụng ArrayList imageUris = intent.getParcelableArrayListExtra (Intent.EXTRA_STREAM); cho nhiều hình ảnh –

6

Nếu bạn có hai hoạt động trong file manifest của bạn, nói MainMediaShare sau đó nó sẽ giống như thế này:

<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> 

Hành động android.intent.action.SENDandroid:mimeType="image/*" nên đi với hoạt động bạn muốn bắt đầu khi bạn chia sẻ hình ảnh.

Xem page on Receiving Content from Other Apps để biết thêm chi tiết.

+0

Để nhận nhiều hình ảnh:' ' – Atul

Các vấn đề liên quan