0

私は位置情報を使用するアプリに取り組んでいます。

アプリを起動すると、ワイヤレスロケーションがアクティブかどうかが確認されます。そうでない場合は、位置設定を表示するためのIntent、を開始するボタンを含むダイアログボックスが表示されます。Settings.ACTION_SECURITY_SETTINGS

そのタスクをユーザーにとって簡単にし、ユーザーが間違った設定を選択して同じダイアログを再度表示する可能性のある不要な設定を非表示にしたいと思います。

このアプリケーションはGPS精度を必要としません。場合によっては、スマートフォンがGPS信号を見つけられないか、位置を追跡するのに長い時間がかかり、アプリケーションが時間内に結果を表示できなくなり、「ワイヤレスネットワーク」が位置を取得するためのより良いオプションになります。

「ワイヤレスネットワーク」がアクティブであるかどうかをテストし、設定を開くために使用するコードを次に示します。

private void checkLocationEnabled() {
    String provider = Settings.Secure.getString(getContentResolver(), 
                                     Settings.Secure.LOCATION_PROVIDERS_ALLOWED);
    if (provider == null || !provider.contains("network")) {
        // Wireless location not enabled
        showDialog();           
    }
}

private void showDialog(){
    AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setMessage("No network location. Please, activate this setting in "
                            + "Location And Security")
           .setCancelable(false)
           .setPositiveButton("Settings", new DialogInterface.OnClickListener() {
               public void onClick(DialogInterface dialog, int id) {
                   Intent intent = new Intent(Settings.ACTION_SECURITY_SETTINGS);
                   startActivity(intent);                           
               }
           })
           .setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
               public void onClick(DialogInterface dialog, int id) {
                   MainActivity.this.finish();
               }
           });
    Dialog dialog = builder.create();
}

ワイヤレスネットワークSettings.ACTION_SECURITY_SETTINGSオプションのみを表示し、 GPSとその中の残りのすべてのオプションを削除するようにフィルタリングするにはどうすればよいですか?Intent

4

1 に答える 1

1

「Settings.ACTION_SECURITY_SETTINGS」をフィルタリングして「ワイヤレスネットワーク」オプションのみを表示し、GPSとその「インテント」の残りのすべてのオプションを削除するにはどうすればよいですか?

これをサポートする独自のバージョンのAndroidを構築し、ROMmodの形式で配布します。

そうでなければ、あなたはできません。

AFAIK、その画面にはそれらを隠す機能すらありません。ましてや、Intentエクストラなどを介してその機能をサードパーティに公開することもできません。さらに、設定アプリの実装は数百とは言わないまでも数十あります(デバイスメーカーはこのアプリを頻繁に変更します)。これが少数のデバイスで可能であったとしても、残りのデバイスでは可能ではないでしょう。

于 2013-01-17T18:18:38.250 に答える