2012-03-02 20 views
7

Làm cách nào để tôi có thể đặt hoạt động của mình để có thể phản hồi bất kỳ loại Mục đích chia sẻ nào.Intent Filter để nắm bắt tất cả các mục đích chia sẻ Intents

Tôi đã thử: -

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

Tuy nhiên điều này không làm việc, tôi đã đọc http://developer.android.com/guide/topics/intents/intents-filters.html nhưng nó không phải là rõ ràng làm thế nào để được mở?

Mọi trợ giúp sẽ được đánh giá cao.

+1

MIMETYPE = "*/*"? –

+2

Bộ lọc 'dữ liệu' chỉ có thể là ký tự đại diện: ed trên * subtype *, (" 'text/plain'" có kiểu con "' plain' ") - vì vậy bạn cần thêm" 'application/* '", "' audio/* '", "' image/* '" v.v. vào bộ lọc của bạn. – Jens

+0

Vì vậy, @Jens bạn có nghĩa là tôi phải thêm từng bộ lọc dữ liệu riêng lẻ? Nếu có thì tôi có thể lấy danh sách từ đâu? – baynezy

Trả lời

27

Đây là cách nó được thực hiện: -

<intent-filter> 
    <action android:name="android.intent.action.SEND" /> 
    <category android:name="android.intent.category.DEFAULT"/> 
    <data android:mimeType="application/*" /> 
    <data android:mimeType="audio/*" /> 
    <data android:mimeType="image/*" /> 
    <data android:mimeType="message/*" /> 
    <data android:mimeType="multipart/*" /> 
    <data android:mimeType="text/*" /> 
    <data android:mimeType="video/*" /> 
</intent-filter> 
-3

Bạn đã thử điều này chưa?

<intent-filter> 
     <category android:name="android.intent.category.DEFAULT" /> 
     <action android:name="android.intent.action.SEND" /> 
    </intent-filter> 
+0

Vâng, tôi đã thử nhưng ứng dụng của tôi không bao giờ được liệt kê khi tôi chia sẻ điều gì đó. – baynezy

+0

Không hoạt động thực sự –

+0

Không hoạt động. Đã tự xác minh. – lowellk

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

Bạn nên thêm một số giải thích cho mã bạn đã cung cấp. –

+2

'*/*' KHÔNG hoạt động khi tạo bộ lọc ý định. – PureSpider

+1

Nhận xét về '*/*' không hoạt động phải là ngày, bởi vì mã nguồn cho [Gửi tới thẻ SD] (https://bitbucket.org/gelin/send-to-sd) chứa bộ lọc ý định chính xác ở trên trong tệp AndroidManifest.xml của nó. Và chương trình hoạt động như dự định (trên Android 6.0.1). – hlovdal

3
 <intent-filter> 
      <action android:name="android.intent.action.SEND" /> 
      <category android:name="android.intent.category.DEFAULT"/> 
      <data android:mimeType="application/*" /> 
      <data android:mimeType="audio/*" /> 
      <data android:mimeType="image/*" /> 
      <data android:mimeType="message/*" /> 
      <data android:mimeType="multipart/*" /> 
      <data android:mimeType="text/*" /> 
      <data android:mimeType="video/*" /> 
     </intent-filter> 
     <intent-filter> 
      <action android:name="android.intent.action.SEND_MULTIPLE" /> 
      <category android:name="android.intent.category.DEFAULT" /> 
      <data android:mimeType="application/*" /> 
      <data android:mimeType="audio/*" /> 
      <data android:mimeType="image/*" /> 
      <data android:mimeType="message/*" /> 
      <data android:mimeType="multipart/*" /> 
      <data android:mimeType="text/*" /> 
      <data android:mimeType="video/*" /> 
      <data android:mimeType="text/plain" /> 
     </intent-filter> 
Các vấn đề liên quan