WifiManager 객체로 OnCreate()에서 Wi-Fi를 켤 수 있음을 알고 있습니다. 그러나 필자의 프로젝트는 단순히 WiFi 기능을 사용하기보다는 객체 지향 접근법을 요구한다. MainActivity 클래스와에서 onCreate() 지금클래스 객체로 WiFi를 켤 수 없음
public class WiFiSenderBase extends Activity implements Sender
{
public static WifiManager wifi;
WiFiSenderBase()
{
wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
}
@Override
public boolean TurnOn()
{
if(!wifi.isWifiEnabled())
{
wifi.setWifiEnabled(true);
return true;
}
return false;
}
}
: 그래서 내가 클래스를 만들어 지금
public class MainActivity extends Activity
{
ToggleButton t;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
t = (Button)findViewById(R.id.Button1_ref);
final WiFiSenderBase wifi = new WiFiSenderBase();
t.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
wifi.TurnOn();
}
});
}
}
, 문제는에서 onCreate() 자체에 대한 응용 프로그램 충돌 및 축배를 만드는 것입니다
불행하게도, 앱 내가 MainAc에서 WiFiSenderBase 클래스의 인스턴스에 문제가 있다고 생각
을 중지 WiFiSenderBase 또한 Activity 클래스를 확장하므로 WiFiSenderBase에서 Activity를 확장하지 않으면 getSystemService()을 사용할 수 없습니다. 어떤 도움을받을 수 있습니다.
p.s. 이클립스 화성을 사용하고 필요한 모든 수입이 이루어졌습니다
'CHANGE_WIFI_STATE' 권한이 설정되어 있습니까? 'ACCESS_WIFI_STATE'도 필요합니다. – RayfenWindspear
@RayfenWindspear 네, 그랬습니다. –
이것이 필요한지 아닌지 잘 모르겠습니다. 나는 그들 자신을 사용한 적이 없다. 'ACCESS_NETWORK_STATE''CHANGE_NETWORK_STATE' – RayfenWindspear