2011-10-05 26 views

Trả lời

22

Thêm vào AndroidManifest.xml:

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> 

<service android:name=".YourService" /> 

<receiver android:name="com.your.package.AutoStart"> 
    <intent-filter> 
     <action android:name="android.intent.action.BOOT_COMPLETED" /> 
    </intent-filter> 
</receiver> 

Tạo lớp AutoStart.java:

public class AutoStart extends BroadcastReceiver 
{ 

    @Override 
    public void onReceive(Context context, Intent intent) 
    { 
     Intent startServiceIntent = new Intent(context, YourService.class); 
     context.startService(startServiceIntent);  
    } 

} 
+1

Nhưng liệu các BroadcastReceiver bắt đầu nhận Phát sóng ngay sau khi khởi động hoàn chỉnh thiết bị, mà không cần phải chạy ứng dụng? Nếu có, khi nào thì máy thu phát sẽ được đăng ký? – Adham

+2

Có, hệ điều hành sẽ gọi phương thức AutoStart.onReceive() của bạn khi thiết bị được khởi động. Lưu ý rằng điều này có thể trước khi thẻ SD được lắp. Khi bạn cài đặt gói ứng dụng, hệ thống sẽ xem xét tệp kê khai của bạn và ứng dụng của bạn sẽ được đăng ký với hệ thống để bạn bắt đầu khởi động. – ciscogambo

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