1

最初に、なぜこのアプリを作成する必要があるのか​​について少し背景を説明します。携帯電話が濡れてしまい、残念ながら画面が機能しなくなりました (何も見えず、何も押すことができません)。電話の機内モードがオンになっているため、写真を同期できません。「充電のみの状態」のため、USBケーブルが接続できません。USBデバッグがオフになっているため、adbに接続して機内モードをオフにすることはできません。しかし、トンネルには少し光があります。WIFIが機能しています。ネットワークに接続すると音が聞こえるので、動作していることがわかります。私の考えは、機内モードをオフにする簡単なアプリを作成することです。Play ストアを使用して PC からインストールしますが、有効にする方法が必要です。このアプリを何らかのシステムコールのリスナーとして登録することで実現できると思います。このアプリを実行しなくても、Play ストアでアプリをリスナーとして登録できますか?

それがすべて可能だと思いますか?多分誰かが他の考えを持っていますか?

ありがとう!

4

2 に答える 2

1

Android 4.2 以降: これは、ファームウェア署名キーによって署名されたアプリ、またはシステム パーティションにインストールされたアプリ (通常はルート化されたデバイス ユーザーによって) を除いて、不可能になりました。(ここからコピペ)

Android 4.1 以下:

// read the airplane mode setting
boolean isEnabled = Settings.System.getInt(
      getContentResolver(), 
      Settings.System.AIRPLANE_MODE_ON, 0) == 1;

// toggle airplane mode
Settings.System.putInt(
      getContentResolver(),
      Settings.System.AIRPLANE_MODE_ON, isEnabled ? 0 : 1);

// Post an intent to reload
Intent intent = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED);
intent.putExtra("state", !isEnabled);
sendBroadcast(intent);

また、WRITE_SETTINGS パーミッションを Android マニフェストに追加します。

ここからコピペ

このコードで設定を開き、ユーザーに機内モードを無効にするように指示できる場合があります。

if (android.os.Build.VERSION.SDK_INT < 17){
    try{
        Intent intentAirplaneMode = new Intent(Settings.ACTION_AIRPLANE_MODE_SETTINGS);
        intentAirplaneMode.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        startActivity(intentAirplaneMode);
    }
    catch (ActivityNotFoundException e){
        Log.e("exception", e + "");
    }
}
else{
    Intent intent1 = new Intent("android.settings.WIRELESS_SETTINGS");
    intent1.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(intent1);
}

ここから対応

于 2016-01-20T15:56:35.597 に答える