プログラムでAndroid設定を開く


回答:


10

私は最も賛成された回答のコードを使用しました:

startActivityForResult(new Intent(android.provider.Settings.ACTION_SETTINGS), 0);

それは同じウィンドウデバイス設定を開くので、アンドロイド用の私のandroidアプリケーション(finnmglas / Launcher)のユーザーがそこに行き詰まっています。

2020年以降の回答(Kotlin):

startActivity(Intent(Settings.ACTION_SETTINGS));

それは私のアプリで機能しますが、不要な結果なしにあなたのアプリでも機能するはずです。


4
2020年はあなたに敬礼します!
Behnam

友人に感謝します。次のようにコードを更新してください:startActivity(new Intent(Settings.ACTION_SETTINGS));
ムハンマドアリ

200

で開くことができます

startActivityForResult(new Intent(android.provider.Settings.ACTION_SETTINGS), 0);

デバイスの戻るボタンを押すと戻ることができます。


ユーザーがキャッシュのクリアボタンを押したときに戻る方法はありますか?
SweetWisherツノヴ

1
@SweetWisherヅソースコードを編集するだけです。
Behnam 2015

2
これで、Intent intent = new Intent(android.provider.Settings.ACTION_SECURITY_SETTINGS);を使用できます。startActivity(intent); 選択できるすべてのメイン設定カテゴリには、たくさんの定数があります。設定を書くだけです。Android Studioでは、すべてのカテゴリがオートコンプリートで表示されます。
AsimQasımzade18年

1
設定アプリ内の特定の設定を検索して、その特定の設定をアプリからプログラムで開くことはできますか?たとえば、電話の[設定]のアプリからOTGを検索できますか?
Divya Gupta

StartActivityを使用するだけで十分なようですが、アプリに戻ったときに常にCANCELDという結果が返されます(戻るボタンで戻ってきたときは正常です)。したがって、アプリはこのように設定の変更を通知されません。
this.myself

37

これは私のためにそれをしました

Intent callGPSSettingIntent = new Intent(android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS);
startActivityForResult(callGPSSettingIntent);

彼らが押し戻すと、それは私のアプリに戻ります。


これはどの設定画面を提供しますか?
IgorGanapolsky

1
@IgorGanapolskyそれは「設定」内の場所ベースの設定を開きます
androminor


9

プログラムによる設定ページの表示を確認する

    startActivity(context, new Intent(Settings.ACTION_SETTINGS), /*options:*/ null);

通常、事前定義された定数を使用しますSettings.ACTION__SETTINGS。完全なリストはここにあります


1
設定を新しいオプションで開く方法はありますか:「通知を読み取ることができるアプリケーションを制御する」(API 18で追加)?
Javi

6

これを実現するには、システム設定を表示するように定義された定数ACTION_SETTINGSを使用するインテントを使用します。

startActivity(new Intent(Settings.ACTION_SETTINGS));

startActivityForResult()はオプションであり、設定アクティビティが閉じているときに一部のデータを返したい場合のみです。

startActivityForResult(new Intent(Settings.ACTION_SETTINGS), 0);

ここには、特定の設定やアプリケーションの詳細を示す定数のリストがあります。


6

この種の活動を行うための別のクラスを作ることができます。

public class Go {

   public void Setting(Context context)
    {
        Intent intent = new Intent(android.provider.Settings.ACTION_SETTINGS);
        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        context.startActivity(intent);
    }
}

3

このインテントを使用して、Androidデバイスの設定アプリでセキュリティと位置情報の画面を開きます

    startActivity(new Intent(Settings.ACTION_SECURITY_SETTINGS));

2

誰かがこの質問を見つけて、特定のアプリケーションの設定を開きたい場合:

    val intent = Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS)
    intent.data = Uri.parse("package:" + context.packageName)
    startActivity(intent)

0

WRITE_SETTINGS権限の例のように、パッケージを見つけた設定にユーザーを送信します。

startActivityForResult(new Intent(Settings.ACTION_MANAGE_WRITE_SETTINGS).setData(Uri.parse("package:"+getPackageName()) ),0);

0

警告ダイアログを使用してプログラムでAndroidの位置設定を開く

AlertDialog.Builder alertDialog = new AlertDialog.Builder(YourActivity.this);
alertDialog.setTitle("Enable Location");
alertDialog.setMessage("GPS is not enabled. Do you want to go to settings menu?");
alertDialog.setPositiveButton("Settings", new DialogInterface.OnClickListener() {
      public void onClick(DialogInterface dialog, int which) {
            Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
            startActivity(intent);
      }
});
alertDialog.show();
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.