我怎樣才能從我的應用程序,用戶到這個新的屏幕?
不幸的是,你不能,沒有一個動作,打開該片段。
最好的辦法是與此代碼打開位置設置:
startActivity(new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS));
,並讓用戶打開溢出菜單,然後選擇Scanning
。
另一種可能的解決辦法是及時的要求,直接從您的應用程序:
![enter image description here](https://i.stack.imgur.com/t7jOxl.png)
首先檢查的Wi-Fi掃描的狀態,不是顯示對話框,如果它是禁用:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) {
WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
if (wifiManager.isScanAlwaysAvailable()) {
Toast.makeText(MainActivity.this, "Wi-Fi scanning is on", Toast.LENGTH_SHORT).show();
} else {
startActivityForResult(new Intent(WifiManager.ACTION_REQUEST_SCAN_ALWAYS_AVAILABLE), MY_REQUEST_CODE);
}
}
然後在onActivityResult
檢查用戶選擇了什麼:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == MY_REQUEST_CODE) {
if (resultCode == RESULT_OK) {
Toast.makeText(this, "User has enabled Wi-Fi scanning", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(this, "User has denied Wi-Fi scanning", Toast.LENGTH_SHORT).show();
}
}
}
感謝您的回答。這實際上是我現在正在做的。我希望有一種方法可以直接進入屏幕,因爲指導用戶瀏覽溢出菜單有點麻煩。在我的應用程序中,我實際上試圖禁用WiFi掃描,但很高興看到有一種直接的方法可以通過ACTION_REQUEST_SCAN_ALWAYS_AVAILABLE啓用它。 – Flyview