2
我正嘗試在應用程序中彈出移動數據或WiFi,但無法打開移動數據。我用下面的代碼嘗試此...如何打開移動數據從xamarin.android mono的彈出窗口以編程方式打開?
public void TurnOnInternet()
{
AlertDialog.Builder alert = new AlertDialog.Builder(_context);
alert.SetTitle(Resource.String.networktitle);
alert.SetMessage("Select the etwork you Like to Enable from the following");
alert.SetPositiveButton("Enable Wifi", (senderAlert, args) =>
{
Intent tntent = new Intent(Android.Provider.Settings.ActionSettings);
_context.StartActivity(tntent);
_context.Finish();
WifiManager wifi = (WifiManager)GetSystemService(Context.WifiService);
wifi.SetWifiEnabled(true);
_context.Finish();
});
alert.SetNegativeButton("Enable Mobile Date", (senderAlert, args) =>
{
setMobileDataState();
try
{
TelephonyManager telephonyService = (TelephonyManager)GetSystemService(Context.TelephonyService);
Method setMobileDataEnabledMethod = telephonyService.Class.GetDeclaredMethod("getDataEnabled");
if (null != setMobileDataEnabledMethod)
{
setMobileDataEnabledMethod.Invoke(telephonyService, true);
setMobileDataEnabledMethod. .SetDataEnabled(true);
}
_context.Finish();
}
catch (Exception ex)
{ }
});
Dialog dialog = alert.Create();
dialog.Show();
}
public void setMobileDataState()
{
try
{
Class ITelephonyClass;
TelephonyManager telephonyService = (TelephonyManager)GetSystemService(Context.TelephonyService);
Method setMobileDataEnabledMethod = telephonyService.Class.GetDeclaredMethod("getDataEnabled");
ITelephonyStub = setMobileDataEnabledMethod.Invoke(telephonyService);
ITelephonyClass = Class.ForName(ITelephonyStub.Class.Name);
if (null != setMobileDataEnabledMethod)
{
Method dataConnSwitchmethod = ITelephonyClass.GetDeclaredMethod("enableDataConnectivity");
setMobileDataEnabledMethod.Invoke(telephonyService, true);
setMobileDataEnabledMethod. .SetDataEnabled(true);
telephonyService.SetDataEnabled(true);
setMobileDataEnabledMethod.SetDataState(true);
}
_context.Finish();
}
catch (Java.Lang.Exception ex)
{ }
}
所以這是我使用的代碼,但無法完成工作。移動數據部分是完全不工作,所以請幫助我從我的應用程序本身打開移動數據,而無需導航到設置
如果您也知道android也請讓我知道解決方案,以便我可以獲得代碼轉換