2013-08-21 28 views
5

Tôi đang phát triển một ứng dụng liên lạc với dịch vụ của tôi qua máy thu.dịch vụ android tự khởi động lại trên ứng dụng bị giết

khai Manifest Mã Dịch vụ

@Override 
    public int onStartCommand(Intent intent, int flags, int startId) { 
    IntentFilter intentFilter = new IntentFilter(); 
    intentFilter.addAction(LOCATION_UPDATE); 
    mBroadcastReceiver = new BroadcastReceiver() { 
     @Override 
     public void onReceive(Context context, Intent intent) { 
      receiverWorks(intent); 
     } 
    }; 
    this.registerReceiver(mBroadcastReceiver, intentFilter); 
    return START_STICKY; 
    } 

Dịch vụ của

<service 
     android:name="com.test.IService" 
     android:enabled="true" 
     android:label="IService" 
     android:process=":iservice" > 
    </service> 

Vấn đề là nó khởi động lại bản thân sau khi ứng dụng (ứng dụng của tôi trong đó sử dụng dịch vụ này) đã được giết. Làm thế nào tôi có thể ngăn chặn điều này? Đã cố gắng xóa android: process nhưng không có gì thay đổi.

Đang chờ bạn trợ giúp.

Cảm ơn

+1

Bạn đã bao giờ tìm thấy giải pháp chưa? Tôi đang gặp sự cố tương tự – StuStirling

Trả lời

6

Dịch vụ này khởi động lại bản thân bởi vì bạn đang trở START_STICKY trong onStartCommand()

Bạn cần phải trả lại start_not_sticky để thay thế.

Để biết thêm thông tin, vui lòng đọc: START_STICKY and START_NOT_STICKY

+6

Cảm ơn bạn đã trả lời. Nhưng như tôi biết START_STICKY tự tái tạo nếu dịch vụ bị dừng lại. Vấn đề là tại sao ứng dụng của tôi phá hủy dịch vụ sau khi nó bị đóng. – dracula

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