-1

作業中の Android アプリでローカル通知を表示したい。通知は、バックグラウンドで完了したネットワーク トランザクションに基づいています。

サービス、インテント サービス、ジョブサービスなどを試しましたが、アプリを閉じても何も機能しません。参照用に機能するコードを共有してください.....

//これが私のサービスです----

public class JobSyncFAQ extends Service {

private Message msg;
    private Looper mServiceLooper;
    private ServiceHandler mServiceHandler;

public JobSyncFAQ() {
}

private final class ServiceHandler extends Handler {
    public ServiceHandler(Looper looper) {
       super(looper);
    }
    @Override
    public void handleMessage(Message msg) { 
        // here is my stuff
        stopSelf(msg.arg1);
    }
 }
public void onCreate() {
super.onCreate();
HandlerThread thread = new HandlerThread("JobSyncFAQ", Process.THREAD_PRIORITY_BACKGROUND);
thread.start();
mServiceLooper = thread.getLooper();
mServiceHandler = new ServiceHandler(mServiceLooper);
}
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
msg = mServiceHandler.obtainMessage();
msg.arg1 = startId;
mServiceHandler.sendMessage(msg);
return START_STICKY;
}
@Override
public void onDestroy() {
super.onDestroy();
mServiceHandler.removeCallbacks(mServiceLooper.getThread());
mServiceLooper.quit();
Intent intent = new Intent(getApplicationContext(),JobSyncFAQ.class);
            sendBroadcast(intent);
}

//and in my receiver 

public void onReceive(Context context, Intent intent) {
context.startService(new Intent(context, JobSyncFAQ.class));
}

注意してください - この問題に直面しているのは N+ バージョンのみです

4

1 に答える 1