0

ユーザーが20MPH以上の速度で運転しているときに、デバイスユーザーがデバイスのどこからでもGPS設定を変更/編集できないようにするAndroidアプリを構築しようとしています。

ユーザーが 20MPH を超えると、ユーザーは通知バーまたは内部設定から GPS 設定を無効にすることができなくなります。

システムのスーパー管理者/管理者権限を使用してこれを適用し、Android アプリで GPS の有効化/無効化イベントを処理するにはどうすればよいですか? 助けてください。

前もって感謝します。

4

3 に答える 3

0

これらのアクセス許可をマニフェスト ファイルで使用する

<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
于 2013-09-11T12:43:36.867 に答える
0
  1. GPS の有効化/無効化は、設計による非同期プロセスです。GPS を無効にして再度有効にする試みを聞くことができます。ただし、実際の無効化を防ぐことはできません。GPS が数秒間オフになります。

または、独自のアプリケーションでのみ使用できる GPS 用のある種のロックを実装する独自の ROM を設計する必要があります。

  1. SuperAdmin 権限を取得するには、a) root と b) /system/app ディレクトリにインストールされた小さなスタブ アプリケーションを設計する必要があります。

上記のすべてのサンプルとして、https: //github.com/sms2000/GPSToggler から私の GPSToggler を取得できます。多かれ少なかれ機能し、ニーズに合わせて採用できます。

于 2013-09-13T12:43:36.487 に答える
0

GPS enable または disable のリスナーを 1 つ登録します。

public void onStatusChanged(String provider, int status, Bundle extras) {
    // TODO Auto-generated method stub

}

    public void onProviderEnabled(String provider) {
        Toast.makeText(this, "Enabled new provider " + provider,
                Toast.LENGTH_LONG).show();

    }

    public void onProviderDisabled(String provider) {
        Toast.makeText(this, "GPS disconnected", Toast.LENGTH_LONG);
            Toast.makeText(getApplicationContext(), "Connected",
                    Toast.LENGTH_LONG);


        Toast.makeText(this, "Please Switch on GPS." + provider,
                Toast.LENGTH_LONG).show();
    }

これを追加して、GPSステータスの変化をリッスンします

locationManager.addGpsStatusListener(gpsStatusListener)

USER によって GPS が無効にされている場合は、コードで有効にします。GPSを有効にするコードは

        Settings.Secure.setLocationProviderEnabled(contentResolver, LocationManager.GPS_PROVIDER,true);

これを行うには、適切な権限を使用してください。

于 2013-09-12T17:17:41.007 に答える