重定向用户以打开互联网设置

时间:2016-01-20 07:11:24

标签: android android-intent android-5.0-lollipop

我创建的应用需要互联网连接。我能够检查互联网是否在Android 4.2.2中以编程方式启用互联网。但是我无法在棒棒糖中自动开启。我搜索了一下,发现手机需要植根才能使用setMobileDataEnabledgetMobileDataEnabled

如何将用户重定向到互联网设置,以便他/她可以将其打开。打开后,如何自动将用户重定向回我的应用程序。

我根据SO帖子尝试了这个:

                Intent intent = new Intent(Intent.ACTION_MAIN);
            intent.setClassName(MainActivity.this,
                    "com.android.phone.NetworkSetting");
            startActivity(intent);

但是我收到了这个错误  android.content.ActivityNotFoundException: Unable to find explicit activity class {com.prematixsofs.taxiapp/com.android.phone.NetworkSetting}; have you declared this activity in your AndroidManifest.xml?

4 个答案:

答案 0 :(得分:5)

// either this:
    Intent settingsIntent = new Intent(Settings.ACTION_SETTINGS);
// or this:
    Intent settingsIntent = new Intent(Settings.ACTION_WIRELESS_SETTINGS);

    activity.startActivityForResult(settingsIntent, 9003);

答案 1 :(得分:2)

这是OP。这里的答案不会直接将用户发送到android的“开启移动数据”活动。用户必须从其他选项列表中选择“移动网络”。所以我不确定我是否应该将答案标记为正确。我不知道这是否适用于所有Lollipop设备,但此代码直接将我发送到设备中的“打开移动数据”屏幕。

以下是代码:

Intent intent = new Intent(Intent.ACTION_MAIN);
intent.setClassName("com.android.settings", "com.android.settings.Settings$DataUsageSummaryActivity");
startActivity(intent);

答案 2 :(得分:0)

试试此代码

    btn = (Button)this.findViewById(R.id.ButtonNet);
btn.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View v) {
        Intent intent=new Intent(Settings.ACTION_WIRELESS_SETTINGS);
        startActivity(intent);
    }
});

答案 3 :(得分:0)

你可以试试这个:

public static AlertDialog displayMobileDataSettingsDialog(final Activity activity,final Context context, String title, String message){
        AlertDialog.Builder builder = new AlertDialog.Builder(context);
        builder.setTitle(title);
        builder.setMessage(message);
        builder.setPositiveButton("Settings", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                Intent intent = new Intent(Settings.ACTION_DATA_ROAMING_SETTINGS);
                context.startActivity(intent);
            }
        });
        builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                dialog.cancel();
                activity.finish();

            }
        });
        builder.show();

        return builder.create();
    }

希望它有所帮助!找到https://github.com/kostasdrakonakis/dialog/blob/master/Custom%20Dialog/DialogMessageDisplay.java