Android 应用程序强制在打开WiFi设置后关闭
我希望我的应用程序在单击按钮时打开WiFi设置,但当我这样做时,它将强制关闭。这是我的代码:Android 应用程序强制在打开WiFi设置后关闭,android,onclick,Android,Onclick,我希望我的应用程序在单击按钮时打开WiFi设置,但当我这样做时,它将强制关闭。这是我的代码: public class Settings extends Activity { private static Intent ACTION_WIFI_SETTINGS; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState
public class Settings extends Activity {
private static Intent ACTION_WIFI_SETTINGS;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_settings);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.settings, menu);
return true;
}
public void click(View view) {
Intent intent = new Intent(Settings.ACTION_WIFI_SETTINGS);
startActivity(intent);
}
}
XML布局:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".Settings" >
<RadioGroup
android:id="@+id/radioGroup1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginTop="14dp" >
</RadioGroup>
<RadioButton
android:id="@+id/radio0"
android:onClick="togglewifi"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:checked="true"
android:text="Toggle Wifi" />
<RadioButton
android:id="@+id/radio1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/radio0"
android:text="Toggle Data" />
<Button
android:onClick="click"
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/radio1"
android:layout_below="@+id/radio1"
android:layout_marginTop="16dp"
android:text="Configure" />
<Button
android:id="@+id/button2"
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:text="Done" />
</RelativeLayout>
如何修复此问题?您确实意识到您正在将Intent操作设置为null。当您执行click方法时,它当然会得到一个NPE。解决这个问题。在XML中,在
RadioButton
radio0
上单击一次
android:onClick="togglewifi"
但是您的活动
没有方法public void togglewifi(View)
,导致异常:
java.lang.IllegalStateException: Could not execute method of the activity
at android.view.View$1.onClick(View.java:2144)
检查android AndroidManifest.xml中的权限,并发布日志错误。请不要投票否决,我已经发布了logcatsee@Anonymous可以发布xml吗also@AnonymousACTION\u WIFI\u SETTINGS=null代码>修复it@Anonymous是,并且该活动在类文件中没有用于切换WiFi的方法-“单击”您正在使用android的单选按钮中的xml:onClick=“togglewifi”。但您没有在活动中实施wifi方法。android:onClick=“click”先检查按钮,然后再通话是的,还有android:onClick=“togglewifi”
。我从你的问题中复制粘贴了它。
java.lang.IllegalStateException: Could not execute method of the activity
at android.view.View$1.onClick(View.java:2144)