2017-12-19 20 views
2

アプリケーションが終了したらサービスを開始します。アプリケーションが閉じられたときにサービスを開始する方法

Javaコード

public class AudioRecorder extends Service { 
    public static final String SENDER_ID = "274211616343"; 

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


    @Override 
    public void onCreate() { 
     Toast.makeText(this, " MyService Created ", Toast.LENGTH_LONG).show(); 
    } 
    @Override 
    public int onStartCommand(Intent intent, int flags, int startId) { 
     Toast.makeText(this, " MyService Started", Toast.LENGTH_LONG).show(); 
     return START_STICKY; 
    } 

    } 
+0

どのようなイベントをしたいですか? - あなたのケースを明記してください。 –

+0

私はアプリケーションをサーバー側のデータがアプリケーションで受信したときに閉じるサービスを開始したい – jasmin

答えて

1

BroadcastReceiverを使用してください。 Serviceを開始しましょう。

+0

私はそれをどのように使うことができますか? – jasmin

+0

AndroidのOから始まって、アプリケーションが実行されていないときにサービスを開始すると、例外がスローされますが、Oを指定しなくてもすべてのアプリケーションに制限が適用されるため、機能をJobSchedulerに移動することをお奨めします。O – Kushan

+0

サービス、まだJobIntentServiceを使用します。 https://medium.com/@berriz_/service-and-boot-completed-on-android-o-6a389eae50f1 –

0

あなたはコメントに書いた:「私は、アプリケーションがアプリケーションに受け取ったサーバ側のデータによって閉じられたときにサービスを開始したい」

をあなたはこのようAlarmManagerを使用していない理由は、この場合、(それはですKotlin):

private fun startServiceAndExit() { 
    val startService = Intent(appContext, YourService::class.java) 
    val pendingIntentId = 123456 
    PendingIntent pendingIntent = PendingIntent.getService(
     appContext, 
     pendingIntentId, 
     intent, 
     0); 

    val mgr = appContext.getSystemService(Context.ALARM_SERVICE) as AlarmManager 
    mgr.set(AlarmManager.RTC, System.currentTimeMillis() + 100, pendingIntent) 
    System.exit(0) 
} 
関連する問題