2010-11-05 27 views
5

Tôi đã xem tài liệu về bộ lọc ý định và tôi không thể tìm ra bộ lọc ý định cụ thể này.Bộ lọc ý định sẽ chỉ hiển thị ứng dụng trong menu chia sẻ khi chia sẻ url là gì?

Tôi đang tìm cách sử dụng ACTION_SEND vì tôi chỉ muốn ứng dụng hiển thị trong menu "Chia sẻ" trong các ứng dụng khác. Tôi chỉ muốn hiển thị trong menu chia sẻ nếu văn bản của mục đích là url. Ví dụ: những gì được chia sẻ từ trình đơn chia sẻ của Trình duyệt của Android. Tôi không muốn ứng dụng xuất hiện trong menu chia sẻ nếu nó chỉ là văn bản chứ không phải url.

Những gì tôi có cho đến nay là:

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

Tuy nhiên, điều này sẽ nhận được bất kỳ văn bản, không chỉ URL.

Cảm ơn

Trả lời

1

Bạn có thể tạo IntentFilter đối tượng lập trình, và họ có thể lọc trên schema URI trong số những thứ khác ... kiểm soát nhiều hơn nữa.

Tôi nghĩ rằng phân lớp IntentFilter sẽ cung cấp cho bạn sự kiện nhiều hơn, nhưng chúng đã thực hiện tất cả các biến thể trên "khớp" final để bạn không thể ghi đè chúng trong một phân lớp. Bah!

Eurika!

Bạn có thể chỉ định một dữ liệu "kế hoạch" thay vì một Mimetype. Chỉ cần yêu cầu "http" và "https" (trong các bộ lọc ý định riêng biệt?).

<intent-filter> 
    ... 
    <data android:scheme="http"/> 
</intent-filter> 
+0

Cảm ơn, tôi sẽ xem qua điều này. Nếu tôi tạo nó theo chương trình, nó sẽ hoạt động ngay cả khi ứng dụng không chạy? – cottonBallPaws

+0

Tôi đã xem qua liên kết đó và không chắc chắn về cách nó hoạt động như thế nào để phân lớp IntentFilter. Bạn có bất kỳ liên kết nào đưa ra một số ví dụ không? Cảm ơn một lần nữa. – cottonBallPaws

+0

Thực ra, tôi không có ý tưởng về sương mù ... và không có khả năng viết lại "trận đấu" Tôi không chắc chắn có một điểm để làm như vậy. Bên cạnh đó bạn sẽ có thể thiết lập tất cả các thuộc tính có sẵn thông qua Manifest, vì vậy tôi không chắc chắn rằng đề nghị của tôi là tất cả những gì hữu ích. –

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