0

GPS 位置を記録するアクティビティがあるアプリケーションを開発しています。LocationListener の更新を登録し、記録された Location を SQLite データベースに保存します。私の問題は、ユーザーがアプリを非表示にしたり、別のアプリを実行したりすると、アプリと記録アクティビティがバックグラウンドになり、システムによって強制終了される可能性があることです。したがって、GPS データは保存されません。アプリがバックグラウンドに移行した場合でも、アプリと記録アクティビティで GPS 位置情報が引き続き記録されるようにしたいと考えています。それを達成する方法は?

ありがとう

4

2 に答える 2

2

サービスは、あなたがしようとすることに最適です。

必ずサービスを開始してくださいSTICKY

于 2012-10-22T13:13:48.153 に答える
0

GUIなしでバックグラウンドで実行できるBroadcastReceiverAndroidの他のコンポーネントを使用します。Service

public class UploadData extends BroadcastReceiver
{
    private static LocationManager locationManager = null;
    private static LocationListener locationListener = null;

        @Override
    public void onReceive(Context context, Intent intent)
    {
          // Create and AlarmManager that will periodically fetch the GPS
    }
}

サービスの場合、

public class myservice extends Service 
{
    LocationManager locationManager = null;
    LocationListener loclistener = null;

        // Bind it, Its important
    public IBinder onBind(Intent intent) 
    {
        return null;
    }
    @Override
    public void onCreate() 
    {
            // Use AlarmManager to fetch the GPS periodically.
    }
}
于 2012-10-22T13:11:36.093 に答える