반응형
Android를 사용하여 내 애플리케이션에서 Wi-Fi 설정 화면을 호출하려면 어떻게해야합니까?
일반적으로을 클릭하여 에뮬레이터에서 Wi-Fi 설정 화면을 얻습니다 Settings > Wireless controls > wifi settings
. 내가 만든 Wi-Fi 버튼을 누르면 내 프로그램에서 Wi-Fi 설정 화면으로 바로 이동해야합니다. 연락처, 통화 로그는 Intent.setData (android.provider.contacts ...........)를 사용하여 처리 할 수 있습니다. 안드로이드 프로그램에서 설정 하위 메뉴 / 메뉴를 여는 방법이 있습니까?
이에 대한 조언이나 샘플 코드를 알려주십시오.
다양한 설정 화면 (예 :)을 실행하는 데 사용할 수 android.provider.Settings
있는 일련의 Intent
작업을 살펴보십시오 ACTION_WIFI_SETTINGS
.
편집 : 코딩 라인을 추가합니다.
startActivity(new Intent(Settings.ACTION_WIFI_SETTINGS));
예
ConnectivityManager manager = (ConnectivityManager)
getSystemService(MainActivity.CONNECTIVITY_SERVICE);
/*
* 3G confirm
*/
Boolean is3g = manager.getNetworkInfo(
ConnectivityManager.TYPE_MOBILE).isConnectedOrConnecting();
/*
* wifi confirm
*/
Boolean isWifi = manager.getNetworkInfo(
ConnectivityManager.TYPE_WIFI).isConnectedOrConnecting();
if (is3g) {
textView.setText("3G");
} else if (isWifi) {
textView.setText("wifi");
} else {
textView.setText("nothing");
// Activity transfer to wifi settings
startActivity(new Intent(Settings.ACTION_WIFI_SETTINGS));
}
컨텍스트로 의도를 호출해야합니다. 다음을 시도해보세요.
startActivity(new Intent(WifiManager.ACTION_PICK_WIFI_NETWORK));
xml 파일에서 수행하려는 경우 :
<PreferenceScreen
xmlns:android="http://schemas.android.com/apk/res/android"
android:key="@string/setting_key"
android:summary="@string/setting_summary"
android:title="@string/setting_title" >
<intent
android:action="android.settings.WIRELESS_SETTINGS"/>
</PreferenceScreen>
플랫폼의 설정 활동을 호출하는 설정 항목이 표시됩니다.
다음은 Wi-Fi 설정 페이지를 여는 코드 스 니펫입니다.
Intent intent = new Intent(Intent.ACTION_MAIN, null);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
ComponentName cn = new ComponentName("com.android.settings", "com.android.settings.wifi.WifiSettings");
intent.setComponent(cn);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity( intent);
버튼 클릭 Listner 클릭
startActivityForResult (new Intent (Settings.ACTION_WIFI_SETTINGS), 0);
내 앱에서 다음과 같이 구현했습니다.
if (Connectivity.isConnected(this)) {
SERVER_IP = Connectivity.getIPAddress(true)
} else {
SERVER_IP = "Not Connected to Network"
Snackbar.make(appRoot, "Not Connected to Network",
Snackbar.LENGTH_INDEFINITE)
.setAction("Open Settings") {
//open network settings
startActivity(Intent(Settings.ACTION_WIFI_SETTINGS))
}.show()
}
}
public static boolean isConnected(Context context) {
NetworkInfo info = Connectivity.getNetworkInfo(context);
return (info != null && info.isConnected());
}
반응형
'developer tip' 카테고리의 다른 글
문자열에서 단어 세기 (0) | 2020.10.20 |
---|---|
Angular 5-클립 보드에 복사 (0) | 2020.10.20 |
IE에서 호환성보기를 비활성화하는 방법 (0) | 2020.10.20 |
Pandas 데이터 프레임 열 헤더를 모두 소문자로 만들려면 어떻게해야합니까? (0) | 2020.10.20 |
오류 0xc0202049 : 데이터 흐름 작업 1 : 읽기 전용 열에 삽입하지 못했습니다. (0) | 2020.10.20 |