如何在点击按钮时以编程方式启用/禁用飞行模式?我试过这个
// 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);
Run Code Online (Sandbox Code Playgroud)
但我得到错误"系统无法解析或不是一个字段",因为它需要API 16或更高版本
<uses-permission android:name="android.permission.WRITE_SETTINGS"/>
Run Code Online (Sandbox Code Playgroud)
有没有任何工作方式这样做适用于所有api级别?
我有一个进度条、一个全屏视频播放方法(用于全屏播放 youtube 视频)和公共布尔值 shouldOverrideUrlLoading用于处理 WebView 中的 URL,但我无法让这三个方法一起工作,我尝试了以下三个方法方法,似乎我需要重复的 webviewClient 和 webChromeclients 才能使依赖于它们的所有内容正常工作
方法 1 - 进度条不起作用(停留在 0%)
public class MainActivity extends Activity {
private WebView mWebView;
private EditText urlEditText;
private ProgressBar progress;
// FULL-SCREEN VIDEO-1
private LinearLayout mContentView;
private FrameLayout mCustomViewContainer;
private View mCustomView;
private WebChromeClient.CustomViewCallback mCustomViewCallback;
FrameLayout.LayoutParams COVER_SCREEN_GRAVITY_CENTER = new FrameLayout.LayoutParams(
ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT, Gravity.CENTER);
private WebChromeClient mWebChromeClient;
// FULL-SCREEN VIDEO-1
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// FULL-SCREEN VIDEO-2
mContentView = (LinearLayout) …Run Code Online (Sandbox Code Playgroud)