Android 개발 초보자이며 wifi & 오디오 서비스를 사용 또는 사용 중지하는 데 어려움이 있습니다. getSystemService 메소드를 사용하여 적절한 관리자 인스턴스를 얻습니다.Android에서 서비스 사용 및 사용 중지시 문제가 발생했습니다.
wifiMgr.setWifiEnabled(true);
을하지만 무선 랜은 간단하게 설정되지 않은 :하지만 사용하여 무선 랜을 사용할 때 어떤 오류가 발생하지 않습니다! 마찬가지로 사용합니다
mAudio.setRingerMode(AudioManager.RINGER_MODE_SILENT);
or
mAudio.setRingerMode(AudioManager.RINGER_MODE_NORMAL);
그러나 휴대 전화는 자동 모드로 전환되지 않습니다.
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
try{
final ToggleButton bt = (ToggleButton)findViewById(R.id.bluetooth_button);
final ToggleButton wf = (ToggleButton)findViewById(R.id.wifi_button);
final ToggleButton sb = (ToggleButton)findViewById(R.id.sound_button);
// Check Audio
AudioManager mAudio = (AudioManager) getSystemService(Activity.AUDIO_SERVICE);
soundStatus = mAudio.getRingerMode();
if(soundStatus == AudioManager.RINGER_MODE_NORMAL)
sb.setChecked(true);
// Check WiFi
WifiManager wifiMgr = (WifiManager) getSystemService(Context.WIFI_SERVICE);
wifiStatus = wifiMgr.isWifiEnabled();
if(wifiStatus)
wf.setChecked(true);
sb.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
try {
TextView tv = (TextView) findViewById(R.id.result);
AudioManager mAudio = (AudioManager) getSystemService(Activity.AUDIO_SERVICE);
if(sb.isChecked()) {
mAudio.setRingerMode(AudioManager.RINGER_MODE_NORMAL);
tv.setText("Ringer set to Normal");
} else {
mAudio.setRingerMode(AudioManager.RINGER_MODE_SILENT);
tv.setText("Ringer set to Silent");
}
}catch (Exception e) {
e.printStackTrace();
}
}
});
bt.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
try {
TextView tv = (TextView) findViewById(R.id.result);
if(bt.isChecked())
tv.setText("Bluetooth is On!");
else
tv.setText("Bluetooth is Off!");
} catch (Exception e) {
e.printStackTrace();
}
}
});
wf.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
try {
TextView tv = (TextView) findViewById(R.id.result);
WifiManager wifiMgr = (WifiManager) getSystemService(Context.WIFI_SERVICE);
if(wf.isChecked()) {
wifiMgr.setWifiEnabled(true);
tv.setText("Wifi is On!");
} else {
wifiMgr.setWifiEnabled(false);
tv.setText("Wifi is Off!");
}
} catch (Exception e) {
e.printStackTrace();
}
}
});
}catch (Exception e) {
e.printStackTrace();
}
}
내가 추가 한 다음 권한 : 나는 모토로라 이정표 (안드로이드 2.1) ... 나는 무엇을 놓치고를 사용하고
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
여기 내 전체 코드는? 아무도이 코드의 잘못된 점을 알려줄 수 있습니까?
미리 감사드립니다. 제안 및 수정.
LogCat이란 무엇입니까? Eclipse에서 'adb logcat', DDMS 또는 DDMS Perspective를 통해 액세스 할 수 있습니다. – CommonsWare