0

プログラムのバックグラウンドで GPS の速度をキャプチャしたい。速度をキャプチャするコードはありますが、プログラムで最初に実行しない限り機能しません。後で通知をポップアップ表示するには、これをブロードキャスト インテントとしてコーディングする必要がありますか?それともインテント サービスとしてコーディングする必要がありますか?

SpeedManagerService.java:

public class SpeedManagerService extends Service {

private static final String TAG = "SpeedCheckerService";

private boolean isRunning = false;

@Override
public void onCreate() {
    Log.i( TAG, "Service onCreate" );

    isRunning = true;
}

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

    Log.i( TAG, "Service onStartCommand" );

    //Creating new thread for my service

    new Thread( new Runnable() {
        @Override
        public void run() {

            if (isRunning) {
                Log.i( TAG, "Service running" );
            }
        }

    } ).start();

    return Service.START_STICKY;
}

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

次に、スプ​​ラッシュ ページの下にその特定のページのインテントを追加しました (スプラッシュ ページが始まる直前に onCreate メソッドで実行するため)。

 public class SplashActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.splash);

Intent intent = new Intent( this, Checker.class );
    startService( intent );

どんな援助でも大歓迎です。ありがとう。

4

2 に答える 2

0

Service を実装し、その中に条件を設定する必要があります。まず、このガイドを読んでください。Location Listener で getSpeed() 関数を呼び出すことができます。

于 2016-06-23T16:46:14.813 に答える