如何启用移动数据?

时间:2017-07-09 03:57:21

标签: android mobile-data

我正在创建一个Android应用程序,为紧急情况的用户提供一个位置。现在我希望应用程序在用户打开应用程序时启用移动数据..提前感谢

2 个答案:

答案 0 :(得分:0)

除非您拥有root电话,否则我认为您无法以编程方式启用和禁用数据,因为为了这样做,我们必须包含MODIFY_PHONE_STATE权限,该权限仅授予系统或签名应用。

setMobileDataEnabled()方法不再可以通过反射调用。它可以通过反射从Android 2.1(API 7)到Android 4.4(API 19)进行调用,但是从Android 5.0及更高版本开始,即使使用root用户手机,setMobileDataEnabled()方法也无法调用。

答案 1 :(得分:0)

实际上并没有任何可用的公共API。

对于 rooted phone ,请尝试this

对于非root电话,唯一要做的就是手动启用它:

protected void createNetErrorDialog() {

    AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setMessage("You need internet connection for this app. Please turn on mobile network or Wi-Fi in Settings.")
        .setTitle("Unable to connect")
        .setCancelable(false)
        .setPositiveButton("Settings",
        new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int id) {
                Intent i = new Intent(Settings.ACTION_WIRELESS_SETTINGS);
                startActivity(i);
            }
        }
    )
    .setNegativeButton("Cancel",
        new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int id) {
                MyActivity.this.finish();
            }
        }
    );
    AlertDialog alert = builder.create();
    alert.show();
}