メインアプリサービスを終了すると、ブロードキャストインテントが停止します。間違いはどこですか?私はそれを実行し続ける方法を見つけることができません。メインアプリが閉じたときにサービスが終了します
放送recevier:
public class CustomReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Toast.makeText(context, "Custom Broadcast recevied", Toast.LENGTH_SHORT).show();
}}
サービス(AAA.java):
public class AAA extends Service {
final class MyThreadClass implements Runnable {
int service_id;
MyThreadClass(int service_id) {
this.service_id = service_id;
}
@Override
public void run() {
synchronized (this) {
try {
while (true) {
Thread.sleep(3000);
Intent i = new Intent();
i.setAction("cz.johnyapps.custombroadcast");
sendBroadcast(i);
}
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
Thread thread = new Thread(new MyThreadClass(startId));
thread.start();
return START_STICKY;
}
@Override
public void onDestroy() {
super.onDestroy();
}}
マニフェスト:
<service android:name="cz.johnyapps.notificationservice.AAA"
android:exported="true"
android:process=":ServiceProcess"/>
主な活動:STARTSERVICE(新しいテント(これ、AAA.class ));
通知が表示されると機能します。しかし、私は通知なしでそれを必要とします。 –
あなたのプロセスが殺されないように、フォアグラウンドプロセスを使用する必要があります。 – Vyacheslav
@HonzaJohnyPejsar bytheway、Start_stickyフラグ – Vyacheslav