package com.app.baselibrary.commonUtil;

/**
 * Desc: 系统工具类，<系统各个页面的跳转>
 * Author: pl
 * Date: 2017-07-03 14:56
 */

import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.provider.Settings;

/**
 * android.provider.Settings。
 * 1.   ACTION_ACCESSIBILITY_SETTINGS ：    // 跳转系统的辅助功能界面
 * <p>
 * Intent intent =  new Intent(Settings.ACTION_ACCESSIBILITY_SETTINGS);
 * startActivity(intent);
 * <p>
 * 2.    ACTION_ADD_ACCOUNT ：               // 显示添加帐户创建一个新的帐户屏幕。【测试跳转到微信登录界面】
 * <p>
 * Intent intent =  new Intent(Settings.ACTION_ADD_ACCOUNT);
 * startActivity(intent);
 * <p>
 * 3.   ACTION_AIRPLANE_MODE_SETTINGS：       // 飞行模式，无线网和网络设置界面
 * <p>
 * Intent intent =  new Intent(Settings.ACTION_AIRPLANE_MODE_SETTINGS);
 * startActivity(intent);
 * <p>
 * 或者：
 * <p>
 * ACTION_WIRELESS_SETTINGS  ：
 * <p>
 * Intent intent =  new Intent(Settings.ACTION_WIFI_SETTINGS);
 * startActivity(intent);
 * <p>
 * 4.    ACTION_APN_SETTINGS：                 //  跳转 APN设置界面
 * <p>
 * Intent intent =  new Intent(Settings.ACTION_APN_SETTINGS);
 * startActivity(intent);
 * <p>
 * 5.   【需要参数】 ACTION_APPLICATION_DETAILS_SETTINGS：   // 根据包名跳转到系统自带的应用程序信息界面
 * <p>
 * Uri packageURI = Uri.parse("package:" + "com.tencent.WBlog");
 * Intent intent =  new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS,packageURI);
 * startActivity(intent);
 * <p>
 * 6.    ACTION_APPLICATION_DEVELOPMENT_SETTINGS :  // 跳转开发人员选项界面
 * <p>
 * Intent intent =  new Intent(Settings.ACTION_APPLICATION_DEVELOPMENT_SETTINGS);
 * startActivity(intent);
 * <p>
 * 7.    ACTION_APPLICATION_SETTINGS ：      // 跳转应用程序列表界面
 * <p>
 * Intent intent =  new Intent(Settings.ACTION_APPLICATION_SETTINGS);
 * startActivity(intent);
 * <p>
 * 或者：
 * <p>
 * ACTION_MANAGE_ALL_APPLICATIONS_SETTINGS   // 跳转到应用程序界面【所有的】
 * <p>
 * Intent intent =  new Intent(Settings.ACTION_MANAGE_ALL_APPLICATIONS_SETTINGS);
 * startActivity(intent);
 * <p>
 * 或者：
 * <p>
 * ACTION_MANAGE_APPLICATIONS_SETTINGS  ：//  跳转 应用程序列表界面【已安装的】
 * <p>
 * Intent intent =  new Intent(Settings.ACTION_MANAGE_APPLICATIONS_SETTINGS);
 * startActivity(intent);
 * <p>
 * <p>
 * <p>
 * 8.    ACTION_BLUETOOTH_SETTINGS  ：      // 跳转系统的蓝牙设置界面
 * <p>
 * Intent intent =  new Intent(Settings.ACTION_BLUETOOTH_SETTINGS);
 * startActivity(intent);
 * <p>
 * 9.    ACTION_DATA_ROAMING_SETTINGS ：   //  跳转到移动网络设置界面
 * <p>
 * Intent intent =  new Intent(Settings.ACTION_DATA_ROAMING_SETTINGS);
 * startActivity(intent);
 * <p>
 * 10.    ACTION_DATE_SETTINGS ：           //  跳转日期时间设置界面
 * <p>
 * Intent intent =  new Intent(Settings.ACTION_DATA_ROAMING_SETTINGS);
 * startActivity(intent);
 * <p>
 * 11.    ACTION_DEVICE_INFO_SETTINGS  ：    // 跳转手机状态界面
 * <p>
 * Intent intent =  new Intent(Settings.ACTION_DEVICE_INFO_SETTINGS);
 * startActivity(intent);
 * <p>
 * 12.    ACTION_DISPLAY_SETTINGS  ：        // 跳转手机显示界面
 * <p>
 * Intent intent =  new Intent(Settings.ACTION_DISPLAY_SETTINGS);
 * startActivity(intent);
 * <p>
 * 13.    ACTION_DREAM_SETTINGS     【API 18及以上 没测试】
 * <p>
 * Intent intent =  new Intent(Settings.ACTION_DREAM_SETTINGS);
 * startActivity(intent);
 * <p>
 * <p>
 * 14.    ACTION_INPUT_METHOD_SETTINGS ：    // 跳转语言和输入设备
 * <p>
 * Intent intent =  new Intent(Settings.ACTION_INPUT_METHOD_SETTINGS);
 * startActivity(intent);
 * <p>
 * 15.    ACTION_INPUT_METHOD_SUBTYPE_SETTINGS  【API 11及以上】  //  跳转 语言选择界面 【多国语言选择】
 * <p>
 * Intent intent =  new Intent(Settings.ACTION_INPUT_METHOD_SUBTYPE_SETTINGS);
 * startActivity(intent);
 * <p>
 * 16.    ACTION_INTERNAL_STORAGE_SETTINGS         // 跳转存储设置界面【内部存储】
 * <p>
 * Intent intent =  new Intent(Settings.ACTION_INTERNAL_STORAGE_SETTINGS);
 * startActivity(intent);
 * <p>
 * 或者：
 * <p>
 * ACTION_MEMORY_CARD_SETTINGS    ：   // 跳转 存储设置 【记忆卡存储】
 * <p>
 * Intent intent =  new Intent(Settings.ACTION_MEMORY_CARD_SETTINGS);
 * startActivity(intent);
 * <p>
 * <p>
 * 17.    ACTION_LOCALE_SETTINGS  ：         // 跳转语言选择界面【仅有English 和 中文两种选择】
 * <p>
 * Intent intent =  new Intent(Settings.ACTION_LOCALE_SETTINGS);
 * startActivity(intent);
 * <p>
 * <p>
 * 18.     ACTION_LOCATION_SOURCE_SETTINGS :    //  跳转位置服务界面【管理已安装的应用程序。】
 * <p>
 * Intent intent =  new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
 * startActivity(intent);
 * <p>
 * 19.    ACTION_NETWORK_OPERATOR_SETTINGS ： // 跳转到 显示设置选择网络运营商。
 * <p>
 * Intent intent =  new Intent(Settings.ACTION_NETWORK_OPERATOR_SETTINGS);
 * startActivity(intent);
 * <p>
 * 20.    ACTION_NFCSHARING_SETTINGS  ：       // 显示NFC共享设置。 【API 14及以上】
 * <p>
 * Intent intent =  new Intent(Settings.ACTION_NFCSHARING_SETTINGS);
 * startActivity(intent);
 * <p>
 * 21.    ACTION_NFC_SETTINGS  ：           // 显示NFC设置。这显示了用户界面,允许NFC打开或关闭。  【API 16及以上】
 * <p>
 * Intent intent =  new Intent(Settings.ACTION_NFC_SETTINGS);
 * startActivity(intent);
 * <p>
 * 22.    ACTION_PRIVACY_SETTINGS ：       //  跳转到备份和重置界面
 * <p>
 * Intent intent =  new Intent(Settings.ACTION_PRIVACY_SETTINGS);
 * startActivity(intent);
 * <p>
 * 23.    ACTION_QUICK_LAUNCH_SETTINGS  ： // 跳转快速启动设置界面
 * <p>
 * Intent intent =  new Intent(Settings.ACTION_QUICK_LAUNCH_SETTINGS);
 * startActivity(intent);
 * <p>
 * 24.    ACTION_SEARCH_SETTINGS    ：    // 跳转到 搜索设置界面
 * <p>
 * Intent intent =  new Intent(Settings.ACTION_SEARCH_SETTINGS);
 * startActivity(intent);
 * <p>
 * 25.    ACTION_SECURITY_SETTINGS  ：     // 跳转到安全设置界面
 * <p>
 * Intent intent =  new Intent(Settings.ACTION_SECURITY_SETTINGS);
 * startActivity(intent);
 * <p>
 * 26.    ACTION_SETTINGS   ：                // 跳转到设置界面
 * <p>
 * Intent intent =  new Intent(Settings.ACTION_SETTINGS);
 * startActivity(intent);
 * <p>
 * 27.   ACTION_SOUND_SETTINGS                // 跳转到声音设置界面
 * <p>
 * Intent intent =  new Intent(Settings.ACTION_SOUND_SETTINGS);
 * startActivity(intent);
 * <p>
 * 28.   ACTION_SYNC_SETTINGS ：             // 跳转账户同步界面
 * <p>
 * Intent intent =  new Intent(Settings.ACTION_SYNC_SETTINGS);
 * startActivity(intent);
 * <p>
 * 29.     ACTION_USER_DICTIONARY_SETTINGS ：  //  跳转用户字典界面
 * <p>
 * Intent intent =  new Intent(Settings.ACTION_USER_DICTIONARY_SETTINGS);
 * startActivity(intent);
 * <p>
 * 30.     ACTION_WIFI_IP_SETTINGS  ：         // 跳转到IP设定界面
 * <p>
 * Intent intent =  new Intent(Settings.ACTION_WIFI_IP_SETTINGS);
 * startActivity(intent);
 * <p>
 * 31.     ACTION_WIFI_SETTINGS  ：            //  跳转Wifi列表设置
 * <p>
 * 跳转方式
 * Intent intent = new Intent(Settings.*********);
 * startActivity(intent);
 */


public class SystemUtil {

    /**
     * 跳转系统的辅助功能界面
     *
     * @param context
     */
    public static void startAccessibilitySettingActivity(Context context) {

        Intent intent = new Intent(Settings.ACTION_ACCESSIBILITY_SETTINGS);
        context.startActivity(intent);
    }


    /**
     * 飞行模式，无线网和网络设置界面
     *
     * @param context
     */
    public static void startAirplaneModeSettingActivity(Context context) {
        Intent intent = new Intent(Settings.ACTION_AIRPLANE_MODE_SETTINGS);
        context.startActivity(intent);
    }

    /**
     * 跳转到系统设置页面；
     *
     * @param context
     */
    public static void startSysSettingActivity(Context context) {
        Intent intent = new Intent(Settings.ACTION_SETTINGS);
        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        context.startActivity(intent);
    }

    /**
     * ACTION_MANAGE_APPLICATIONS_SETTINGS  ：//  跳转 应用程序列表界面【已安装的】
     * <p>
     * Intent intent =  new Intent(Settings.ACTION_MANAGE_APPLICATIONS_SETTINGS);
     * startActivity(intent);
     */

    public static void startManageApplicationsSettingActivity(Context context) {

        Intent intent = new Intent(Settings.ACTION_MANAGE_APPLICATIONS_SETTINGS);
        context.startActivity(intent);
    }

    /**
     * 5.   【需要参数】 ACTION_APPLICATION_DETAILS_SETTINGS：   // 根据包名跳转到系统自带的应用程序信息界面
     * <p>
     * Uri packageURI = Uri.parse("package:" + "com.tencent.WBlog");
     * Intent intent =  new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS,packageURI);
     * startActivity(intent);
     */

    public static void startApplicationDetailSettingActivity(Context context, String packageArg) {
        Uri packageURI = Uri.parse("package:" + packageArg);
        Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS, packageURI);
        context.startActivity(intent);
    }
}
