应用程序关闭Android上的飞行模式

时间:2016-01-20 15:52:47

标签: android airplane

为什么我需要编写这个应用程序的第一个小背景。 我的手机弄湿了,不幸的是屏幕现在无法正常工作 (我看不到任何东西,我不能按任何东西)。 手机已开启飞行模式,因此我的照片无法同步。 我无法连接USB电缆,因为它处于“仅充电状态”。 USB调试已关闭,因此无法连接adb以关闭飞行模式。 但隧道中有一点亮光。有WIFI工作。 当它连接到我的网络时听到声音,所以我知道它正在工作。 我的想法是写一个简单的应用程序,将关闭飞机模式。 我将使用Play商店从PC安装它,但我需要一种方法来打开它。 我认为可以通过将此应用程序注册为某个系统调用的侦听器来完成。可以Play商店注册应用程序作为听众而无需运行此应用程序吗?

你认为这一切都可能吗? 也许有人有其他想法?

谢谢!

2 个答案:

答案 0 :(得分:0)

来自android 4.2:除了由固件签名密钥签名或安装在系统分区上的应用程序(通常由root设备用户)之外,这已不再可能。 (从here复制)

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清单

here

复制

您可以使用此代码打开设置并告诉用户禁用飞行模式:

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);
}

来自here

答案 1 :(得分:0)

目前我不知道如何以编程方式构建应用程序来打开/关闭系统设置,但我可以告诉你的是,Play Store中已经有一个应用程序,我觉得它也是一样的。

您可以查看此应用,名为触发

https://play.google.com/store/apps/details?id=com.jwsoft.nfcactionlauncher&hl=en

您所要做的就是创建一项任务以关闭飞行模式,并通过Wi-Fi触发该任务。

希望它有所帮助。