2010-10-18 42 views
10

Do khiếu nại người dùng áp đảo tôi đã quyết định thử cho phép người dùng ứng dụng Android của tôi di chuyển nó vào thẻ SD theo the official documentation. Tuy nhiên, tính năng cốt lõi của ứng dụng của tôi yêu cầu dịch vụ nền phải liên tục chạy. Khi ai đó đã chuyển ứng dụng của tôi sang thẻ SD gắn thẻ SD của họ vì bất kỳ lý do gì, dịch vụ nền của tôi sẽ bị xóa.Khởi động lại dịch vụ cho ứng dụng trên thẻ SD Khi thẻ SD được remounted

Đó là tất cả bởi tôi, miễn là tôi có thể khởi động lại dịch vụ ở cơ hội đầu tiên có sẵn. Thật không may, mặc dù hướng dẫn install-location tuyên bố tôi có thể sử dụng Mục đích phát sóng ACTION_EXTERNAL_APPLICATIONS_AVAILABLE để phát hiện khi thẻ SD được gắn lại cục bộ, tài liệu cho cờ đó, this newsgroup discussion và thử nghiệm của riêng tôi cho thấy chương trình phát sóng này không được cung cấp cho các ứng dụng khả dụng . Chỉ những ứng dụng chưa được chuyển sang thẻ SD mới có được Mục đích phát sóng.

Có cách nào để khởi động lại dịch vụ nền của tôi mà không cần chờ người dùng mở ứng dụng của tôi sau khi thẻ SD được cập nhật không?

+0

Xin chào Alex, tôi đang đối mặt với cùng một vấn đề. Làm thế nào bạn quản lý để khởi động lại dịch vụ của bạn trong nền? – Spynet

Trả lời

7

Không đáng tin cậy. Bạn có thể móc vào chương trình phát sóng ít quyền cho phép Intents (ví dụ: ACTION_SCREEN_OFF) sẽ kích hoạt và kiểm soát theo cách đó. Như bà Hackborn cho biết, câu trả lời đúng là dành cho ACTION_EXTERNAL_APPLICATIONS_AVAILABLE để được sửa. Bạn cũng có thể thấy một số phát hiện có liên quan đến thẻ SD xảy ra sau khi các ứng dụng bên ngoài có sẵn (ví dụ: ACTION_MEDIA_MOUNTED), mặc dù tôi mong đợi tất cả những ứng dụng đó đã trôi qua trước khi ứng dụng bên ngoài khả dụng.

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