【问题标题】:Android Airplane mode continuous togglingAndroid飞行模式连续切换
【发布时间】:2012-04-06 05:16:51
【问题描述】:

我已经编写了某些代码,以便我的 android 应用程序应该进入飞行模式并在一段时间内回到网络连接模式,直到我强行关闭应用程序。 它使用我编写的代码,但问题是屏幕或显示器没有显示飞行符号。 当我进入设置时,我可以看到代码正在正确启用和禁用飞行模式。

谁能给我一个解决方案。

我的代码如下

public class Airplane_ModeActivity extends Activity implements Runnable{

    private static final int SLEEP_TIME_VALUE = 10000;
    private static Context context;
    private static ContentResolver contentResolver;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);  

        context =  getApplicationContext();
        contentResolver = context.getContentResolver();

        Intent intent = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED);
        intent.putExtra("state", false);
        sendBroadcast(intent);
        Runnable runnable = new Airplane_ModeActivity();
        Thread thread = new Thread(runnable);
        thread.start();
        }

        public void run(){
        while(true)     {

            while(0==Settings.System.getInt(contentResolver, Settings.System.AIRPLANE_MODE_ON, 0) ) {

                Settings.System.putInt(contentResolver, Settings.System.AIRPLANE_MODE_ON, 1);

                try {
                    Thread.sleep(SLEEP_TIME_VALUE);

                }
                catch (InterruptedException ie) {

                }
            }
            try {
                Thread.sleep(SLEEP_TIME_VALUE);
            }
            catch (InterruptedException ie) {
            }

        while(1==Settings.System.getInt(contentResolver, Settings.System.AIRPLANE_MODE_ON, 1) ) {


            Settings.System.putInt(contentResolver, Settings.System.AIRPLANE_MODE_ON, 0);

            try {

                Thread.sleep(SLEEP_TIME_VALUE);
            }
            catch (InterruptedException ie) {

            }

        }
        try {
            Thread.sleep(SLEEP_TIME_VALUE);

        }
        catch (InterruptedException ie) {

        }
    }
        }   
    }

【问题讨论】:

  • 它是否会影响您想要实现的目标?除了顶部的符号。有时 wifi 也会发生这种情况,但它不会以任何方式影响我的输出
  • 是的。在运行应用程序时,如果进入设置并看到我可以清楚地看到飞行模式的复选框正在启用和禁用..,但通知栏中的 i con 未显示手机在飞机上模式。

标签: android airplane


【解决方案1】:
 boolean isEnabled = Settings.System.getInt(thisActivity.getContentResolver(),Settings.System.AIRPLANE_MODE_ON, 0) == 1;
                        Settings.System.putInt(thisActivity.getContentResolver(),Settings.System.AIRPLANE_MODE_ON,isEnabled ? 0 : 1);
 Intent intent = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED);
 intent.putExtra("state", !isEnabled);
 sendBroadcast(intent);

检查一下这个。我想这会对你有所帮助..

【讨论】:

  • 我认为这不符合我的要求...再次检查我的要求发布您的观点老兄,因为您只是让我的应用程序设置为飞行模式。但我想重新连接模式并再次飞行模式(飞行模式)连续。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多