How to enable mobile hotspot programmatically in marshmallow and above android version? -


i've tried create wifi tethering hotspot in android marshmallow using following code.

public class wifiaccessmanager {  private static final string ssid = "mhotspot"; public static boolean setwifiapstate(context context, boolean enabled) {     //config = preconditions.checknotnull(config);     try {         wifimanager mwifimanager = (wifimanager) context.getsystemservice(context.wifi_service);         if (enabled) {             mwifimanager.setwifienabled(false);         }         wificonfiguration conf = getwifiapconfiguration();         mwifimanager.addnetwork(conf);          return (boolean) mwifimanager.getclass().getmethod("setwifiapenabled", wificonfiguration.class, boolean.class).invoke(mwifimanager, conf, enabled);     } catch (exception e) {         e.printstacktrace();         return false;     } }  public static wificonfiguration getwifiapconfiguration() {     wificonfiguration conf = new wificonfiguration();     conf.ssid =  ssid;     conf.allowedkeymanagement.set(integer.parseint("12345678"));     return conf; } 

}

and have given permission access wifi in manifest file

<uses-permission android:name="android.permission.access_wifi_state" /> <uses-permission android:name="android.permission.change_wifi_state" /> <uses-permission android:name="android.permission.write_settings" /> <uses-permission android:name="android.permission.change_network_state" /> <uses-permission android:name="android.permission.internet" /> <uses-permission android:name="android.permission.access_network_state" /> 

but it's not activating in marshmallow , above version.

whenever enabling hotspot got error

08-18 13:56:32.304 27844-27844/com.example.deneebo.ffconnect w/system.err: java.lang.reflect.invocationtargetexception 08-18 13:56:32.304 27844-27844/com.example.deneebo.ffconnect w/system.err:     @ java.lang.reflect.method.invoke(native method) 08-18 13:56:32.304 27844-27844/com.example.deneebo.ffconnect w/system.err:     @ com.example.deneebo.ffconnect.wifiaccessmanager.setwifiapstate(wifiaccessmanager.java:28) 08-18 13:56:32.304 27844-27844/com.example.deneebo.ffconnect w/system.err:     @ com.example.deneebo.ffconnect.devicefoundactivity.oncreate(devicefoundactivity.java:72) 08-18 13:56:32.304 27844-27844/com.example.deneebo.ffconnect w/system.err:     @ android.app.activity.performcreate(activity.java:6689) 08-18 13:56:32.304 27844-27844/com.example.deneebo.ffconnect w/system.err:     @ android.app.instrumentation.callactivityoncreate(instrumentation.java:1140) 08-18 13:56:32.305 27844-27844/com.example.deneebo.ffconnect w/system.err:     @ android.app.activitythread.performlaunchactivity(activitythread.java:2709) 08-18 13:56:32.305 27844-27844/com.example.deneebo.ffconnect w/system.err:     @ android.app.activitythread.handlelaunchactivity(activitythread.java:2825) 08-18 13:56:32.305 27844-27844/com.example.deneebo.ffconnect w/system.err:     @ android.app.activitythread.-wrap12(activitythread.java) 08-18 13:56:32.305 27844-27844/com.example.deneebo.ffconnect w/system.err:     @ android.app.activitythread$h.handlemessage(activitythread.java:1557) 08-18 13:56:32.305 27844-27844/com.example.deneebo.ffconnect w/system.err:     @ android.os.handler.dispatchmessage(handler.java:110) 08-18 13:56:32.305 27844-27844/com.example.deneebo.ffconnect w/system.err:     @ android.os.looper.loop(looper.java:203) 08-18 13:56:32.305 27844-27844/com.example.deneebo.ffconnect w/system.err:     @ android.app.activitythread.main(activitythread.java:6339) 08-18 13:56:32.305 27844-27844/com.example.deneebo.ffconnect w/system.err:     @ java.lang.reflect.method.invoke(native method) 08-18 13:56:32.305 27844-27844/com.example.deneebo.ffconnect w/system.err:     @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:1084) 08-18 13:56:32.305 27844-27844/com.example.deneebo.ffconnect w/system.err:     @ com.android.internal.os.zygoteinit.main(zygoteinit.java:945) 08-18 13:56:32.305 27844-27844/com.example.deneebo.ffconnect w/system.err: caused by: java.lang.securityexception: com.example.deneebo.ffconnect not granted  permission: android.permission.write_settings. 08-18 13:56:32.305 27844-27844/com.example.deneebo.ffconnect w/system.err:     @ android.os.parcel.readexception(parcel.java:1684) 08-18 13:56:32.305 27844-27844/com.example.deneebo.ffconnect w/system.err:     @ android.os.parcel.readexception(parcel.java:1637) 08-18 13:56:32.305 27844-27844/com.example.deneebo.ffconnect w/system.err:     @ android.net.wifi.iwifimanager$stub$proxy.setwifiapenabled(iwifimanager.java:1888) 08-18 13:56:32.305 27844-27844/com.example.deneebo.ffconnect w/system.err:     @ android.net.wifi.wifimanager.setwifiapenabled(wifimanager.java:1748) 08-18 13:56:32.306 27844-27844/com.example.deneebo.ffconnect w/system.err:  ... 15 more 

kindly solve issue.

thanks

the issue, log, this:

caused by: java.lang.securityexception: com.example.deneebo.ffconnect not granted  permission: android.permission.write_settings 

your app requires android.permission.write_settings permission, , in marshmallow permission cannot granted declaring in manifest. change did enforce security.

you have ask user allow app use permission explicitly. can find more info in this answer.


this reply has been edited after op posted logs


Comments

Popular posts from this blog

Is there a better way to structure post methods in Class Based Views -

performance - Why is XCHG reg, reg a 3 micro-op instruction on modern Intel architectures? -

jquery - Responsive Navbar with Sub Navbar -