package com.yw.sdkdemo.airplane; import android.content.Context; import android.os.Bundle; import android.os.RemoteException; import android.provider.Settings; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.Toast; import androidx.annotation.Nullable; import androidx.appcompat.app.AppCompatActivity; import com.yw.sdkdemo.R; import com.yw.serialport.Port; import com.yw.serialport.SerialPortManager; import com.yw.tool.ToolsManager; /** * Created by xushuang on 2024/5/10 * E-mail: mitgic92@gmail.com * Description: */ public class AirPlaneActivity extends AppCompatActivity implements View.OnClickListener { private Button bt_open; private Button bt_close; private static final String TAG = AirPlaneActivity.class.getSimpleName(); @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_airplane); initView(); initListener(); } private void initView() { bt_open = (Button) findViewById(R.id.bt_open); bt_close = (Button) findViewById(R.id.bt_close); } private SerialPortManager.Listener listener = new SerialPortManager.Listener() { @Override public void onData(Port port, byte[] data, int len) throws RemoteException { Log.d(TAG, "onData: " + new String(data)); } }; private void initListener() { bt_open.setOnClickListener(this); bt_close.setOnClickListener(this); } @Override protected void onDestroy() { super.onDestroy(); } private boolean isAirplaneModeOn = false; @Override public void onClick(View v) { switch (v.getId()) { case R.id.bt_open: setAirplaneMode(true); break; case R.id.bt_close: setAirplaneMode(false); break; } } public void setAirplaneMode(boolean enabled) { new Thread() { @Override public void run() { isAirplaneModeOn = isAirplaneModeOn(AirPlaneActivity.this); Log.d(TAG, "Airplane mode is " + (isAirplaneModeOn ? "ON" : "OFF")); ToolsManager.getInstance().switchAirPlaneMode(enabled); isAirplaneModeOn = isAirplaneModeOn(AirPlaneActivity.this); Log.d(TAG, "Airplane mode is " + (isAirplaneModeOn ? "ON" : "OFF")); runOnUiThread(new Runnable() { @Override public void run() { Toast.makeText(AirPlaneActivity.this, "Airplane mode is " + (isAirplaneModeOn ? "ON" : "OFF"),Toast.LENGTH_SHORT).show(); } }); } }.start(); } public boolean isAirplaneModeOn(Context context) { return Settings.Global.getInt( context.getContentResolver(), Settings.Global.AIRPLANE_MODE_ON, 0) != 0; } }