2017-01-17 12 views
0

Androidサービスを習得しようとしています。私は、アプリケーションが破棄された後でも実行されるサービスを作成していますが、私がアプリケーションを終了すると、サービスも終了します。私はNotificationServiceを作成しようとしていますが、私はちょうどServiceで作業しようとした私のコードです。アプリが破棄されたときにAndroidサービスが終了する

マニフェスト:

<service 
     android:name="com.test.testworks.MyService" 
     /> 

ボタンのクリックを経由してサービスの開始:

startService(new Intent(this, MyService.class)); 

サービスクラスMyService.class

public class MyService extends Service { 

@Override 
public void onCreate() { 
    super.onCreate(); 
} 

@Override 
public int onStartCommand(Intent intent, int flags, int startId) { 


    /* 1. *//*ScheduledExecutorService scheduleTaskExecutor = Executors.newScheduledThreadPool(5); 

    // This schedule a runnable task every 2 minutes 
    scheduleTaskExecutor.scheduleAtFixedRate(new Runnable() { 
     public void run() { 

     } 
    }, 0, 10000, TimeUnit.SECONDS);*/ 


    /* 2. *//*final Handler handler = new Handler(); 
    handler.postDelayed(new Runnable() { 
     public void run() { 
      Toast.makeText(MyService.this, "suiubsibddubsuidv", Toast.LENGTH_LONG).show(); 
      handler.postDelayed(this, 10000); //now is every 2 minutes 
     } 
    }, 10000);*/ 


    return START_STICKY; 

} 

@Override 
public IBinder onBind(Intent intent) { 
    return null; 
} 

} 

他のサービスが実行されているところ、私は自分の携帯電話でチェックしています私がアプリケーションを終了すると、サービスも終了します。

答えて

0

一部の携帯電話では、アプリをバックグラウンドで実行できるアプリのリストに明示的に追加する必要があります。そうしないと、何らかの理由でAndroidが強制終了された場合、Androidは再起動しません。インストールされたアプリケーションをリストし、それらをこのリストに追加できる設定ページが必要です。これは、一部のデバイスでは「保護されたアプリ」と呼ばれています。特に、Xiaomi、LG、Huaweiのデバイスにはこの機能がありますが、他の携帯電話もあります。

+0

はい、私はXiamiを使用しています。私はチェックして、これについて知っているだろう。ありがとう –

+0

私は許可を確認したばかりです。アプリは 'バックグラウンドで開始する '権限を持っていますが、サービスはまだ終了しています。 –

+0

Androidのどのバージョンですか?そして、あなたはどのように "アプリケーションを終了するのですか?" –

関連する問題