8

Tôi đang cố gắng lọc và xử lý các mục đích với các hành động android.intent.action.SEND ở một trong số Service s của mình. Tôi đã viết như sau trong AndroidManifest.xml tôi:Chỉ định bộ lọc ý định GỬI (chia sẻ) cho Dịch vụ

<service 
    android:name=".app.ScreamerService" 
    android:label="@string/app_name" > 
    <intent-filter> 
     <action android:name="android.intent.action.SEND"/> 
     <category android:name="android.intent.category.DEFAULT"/> 
     <data android:mimeType="*/*"/> 
    </intent-filter>                  
</service> 

Bây giờ, vấn đề là tôi không thấy ứng dụng của tôi trong danh sách "chia sẻ thông qua" các lựa chọn khi, ví dụ, cố gắng chia sẻ một trang web từ trình duyệt hoặc liên hệ từ danh sách liên hệ. Tuy nhiên, nếu tôi di chuyển bộ lọc chủ định đến thẻ <activity> chính (thay vì <service>), tên và biểu tượng ứng dụng của tôi do xuất hiện trong danh sách tùy chọn "chia sẻ qua".

Tôi đang làm gì sai ở đây? Không thể thực hiện hành động SEND với Dịch vụ?

Trả lời

9

Tôi đang cố gắng lọc và xử lý các mục đích bằng thao tác android.intent.action.SEND trong một trong các dịch vụ của tôi.

ACTION_SEND là hành động hoạt động và do đó không thể nhận được bởi các dịch vụ hoặc người phát sóng.

Bây giờ, vấn đề là tôi không thấy ứng dụng của tôi trong danh sách "chia sẻ thông qua" các lựa chọn khi, ví dụ,

Đó là bởi vì nó không phải là một hoạt động.

Hành động SEND không thể được chuyển hướng đến Dịch vụ?

Những thứ xuất hiện trong trình chọn (ví dụ: ACTION_SEND) phải là hoạt động. Hoạt động của bạn được hoan nghênh để giao tiếp với một dịch vụ, mặc dù.

1

này nên làm việc nhưng:

Hãy thử với một máy thu phát sóng đầu tiên để có được mục đích và khởi động dịch vụ của bạn.

nếu điều đó không hoạt động:

Sử dụng hoạt động giả không có bố cục. (làm cho chủ đề mờ và gọi kết thúc ngay sau khi bạn xử lý ý định).

Đồng thời loại mime của bạn có nghĩa là bạn đang xử lý mọi loại tệp đơn lẻ. Có phải đó là những gì bạn cần? tôi nghĩ bạn nên làm cho nó chính xác hơn trong việc lựa chọn. bạn sẽ nhận được phản hồi tiêu cực nếu ai đó cố gắng sử dụng nó với loại bạn không hỗ trợ. đề xuất của tôi là kiểm tra các loại và thêm chúng từng cái một vì bạn tự tin rằng bạn có thể xử lý chúng.

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