Android跳转系统界面_大全集

Android系统在设计之初就强调重视组件的概念,轻视应用的概念。每一个App都不是互相独立的,而是以一种组件化地对外对内提供服务,App间的交互很多,比如跨应用获取数据,跳转页面等。

今天这篇文章就来做一个大汇总,记录常用的跳转系统界面的代码。总共52条,后续可能会少量补充。

老规矩,在节目开始之前,先来一个搞笑段子:
同事嫖娼被抓,拘留15天,他老婆冲到派出所大吵大骂。他同事淡定地过去劝说:“嫂子你听我说,大哥昨晚喝多了,我们不让他走,他说老婆在家等呢,坚持要回去,结果被查了酒驾。按法律要关6个月,还要重考驾照。我们找了很多关系才改成嫖娼。”她老婆瞬间感动,临走时还不停地说:“谢谢,谢谢啊!”

<本文主要测试机型:Google Nexus5>

<主要包括两大部分:Setting及其子页面、系统App>

1、跳转Setting应用列表(所有应用)

Intent intent =  new Intent(Settings.ACTION_MANAGE_ALL_APPLICATIONS_SETTINGS);
this.startActivity(intent);

2、跳转Setting应用列表(安装应用)

Intent intent =  new Intent(Settings.ACTION_MANAGE_APPLICATIONS_SETTINGS);

3、跳转Setting应用列表

Intent intent =  new Intent(Settings.ACTION_APPLICATION_SETTINGS);

4、开发者选项

Intent intent =  new Intent(Settings.ACTION_APPLICATION_DEVELOPMENT_SETTINGS);

5、允许在其它应用上层显示的应用

Intent intent =  new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION);

6、无障碍设置

Intent intent =  new Intent(Settings.ACTION_ACCESSIBILITY_SETTINGS);

7、添加账户

Intent intent =  new Intent(Settings.ACTION_ADD_ACCOUNT);

8、WIFI设置

Intent intent =  new Intent(Settings.ACTION_WIFI_SETTINGS);

9、蓝牙设置

Intent intent =  new Intent(Settings.ACTION_BLUETOOTH_SETTINGS);

10、移动网络设置

Intent intent =  new Intent(Settings.ACTION_DATA_ROAMING_SETTINGS);

11、日期时间设置

Intent intent =  new Intent(Settings.ACTION_DATE_SETTINGS);

12、关于手机界面

Intent intent =  new Intent(Settings.ACTION_DEVICE_INFO_SETTINGS);

13、显示设置界面

Intent intent =  new Intent(Settings.ACTION_DISPLAY_SETTINGS);

14、声音设置

Intent intent =  new Intent(Settings.ACTION_SOUND_SETTINGS);

15、互动屏保

Intent intent =  new Intent(Settings.ACTION_DREAM_SETTINGS);

16、输入法

Intent intent =  new Intent(Settings.ACTION_INPUT_METHOD_SETTINGS);

17、输入法_SubType

Intent intent =  new Intent(Settings.ACTION_INPUT_METHOD_SUBTYPE_SETTINGS);

18、内部存储设置界面

Intent intent =  new Intent(Settings.ACTION_INTERNAL_STORAGE_SETTINGS);

19、存储卡设置界面

Intent intent =  new Intent(Settings.ACTION_MEMORY_CARD_SETTINGS);

20、语言选择界面

Intent intent =  new Intent(Settings.ACTION_LOCALE_SETTINGS);

21、位置服务界面

Intent intent =  new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);

22、运营商

Intent intent =  new Intent(Settings.ACTION_NETWORK_OPERATOR_SETTINGS);

23、NFC共享界面

Intent intent =  new Intent(Settings.ACTION_NFCSHARING_SETTINGS);

24、NFC设置

Intent intent =  new Intent(Settings.ACTION_NFC_SETTINGS);

25、备份和重置

Intent intent =  new Intent(Settings.ACTION_PRIVACY_SETTINGS);

26、快速启动

Intent intent =  new Intent(Settings.ACTION_QUICK_LAUNCH_SETTINGS);

27、搜索设置

Intent intent =  new Intent(Settings.ACTION_SEARCH_SETTINGS);

28、安全设置

Intent intent =  new Intent(Settings.ACTION_SECURITY_SETTINGS);

29、设置的主页

Intent intent =  new Intent(Settings.ACTION_SETTINGS);

30、用户同步界面

Intent intent =  new Intent(Settings.ACTION_SYNC_SETTINGS);

31、用户字典

Intent intent =  new Intent(Settings.ACTION_USER_DICTIONARY_SETTINGS);

32、IP设置

Intent intent =  new Intent(Settings.ACTION_WIFI_IP_SETTINGS);

33、App设置详情界面

public void startAppSettingDetail() {
   String packageName = getPackageName();
    Uri packageURI = Uri.parse("package:" + packageName);
    Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
    intent.setData(packageURI);
    startActivity(intent);
}

34、跳转应用市场

public void startMarket() {
    Intent intent = new Intent(Intent.ACTION_VIEW);
//  intent.setData(Uri.parse("market://details?id=" + "com.xxx.xxx"));
    intent.setData(Uri.parse("market://search?q=App Name"));
    startActivity(intent);
}

35、获取Launcherbaoming

public void getLauncherPackageName() {
   Intent intent = new Intent(Intent.ACTION_MAIN);
    intent.addCategory(Intent.CATEGORY_HOME);
    final ResolveInfo res = this.getPackageManager().resolveActivity(intent, 0);
    if (res.activityInfo == null) {
        Log.e("TAG", "没有获取到");
        return;
    }

    if (res.activityInfo.packageName.equals("android")) {
        Log.e("TAG", "有多个Launcher,且未指定默认");
    } else {
        Log.e("TAG", res.activityInfo.packageName);
    }
}

36、跳转图库获取图片

public void startGallery() {
  Intent intent = new Intent(Intent.ACTION_PICK,
            android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
    intent.setType("image/*");
    this.startActivityForResult(intent, 1);
}

37、跳转相机,拍照并保存

public void startCamera() {
 String dir = Environment.getExternalStorageDirectory().getAbsolutePath() + "/test.jpg";
    Uri headCacheUri = Uri.fromFile(new File(dir));
    Intent takePicIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
    takePicIntent.putExtra(MediaStore.EXTRA_OUTPUT, headCacheUri);
    startActivityForResult(takePicIntent, 2);
}

38、跳转文件管理器

public void startFileManager() {
Intent intent = new Intent(Intent.ACTION_GET_CONTENT,
            android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
    intent.setType("file/*");
    this.startActivityForResult(intent, 3);
}

39、直接拨打电话

public void startCall() {
 Intent callIntent = new Intent(Intent.ACTION_CALL);
    callIntent.setData(Uri.parse("tel:" + "13843894038"));
    if (ActivityCompat.checkSelfPermission(this, Manifest.permission.CALL_PHONE) != PackageManager.PERMISSION_GRANTED) {
        return;
    }
    startActivity(callIntent);
}

40、跳转电话应用

public void startPhone() {
Intent intent = new Intent(Intent.ACTION_DIAL,Uri.parse("tel:" + "13843894038"));
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    startActivity(intent);
}

41、发送短信

public void startSMS() {
    Uri smsToUri = Uri.parse("smsto://10086");
    Intent mIntent = new Intent( android.content.Intent.ACTION_SENDTO, smsToUri );
    startActivity(mIntent);
}

42、发送彩信

public void startMMS() {
 Uri uri = Uri.parse("content://media/external/images/media/11");
    Intent it = new Intent(Intent.ACTION_SEND);
    it.putExtra("sms_body", "some text");
    it.putExtra(Intent.EXTRA_STREAM, uri);
    it.setType("image/png");
    startActivity(it);
}

43、发送邮件

public void startEmail() {
   Uri uri = Uri.parse("mailto:[email protected]");
    String[] email = {"[email protected]"};
    Intent intent = new Intent(Intent.ACTION_SENDTO, uri);
    intent.putExtra(Intent.EXTRA_CC, email); // 抄送人
    intent.putExtra(Intent.EXTRA_SUBJECT, "这是邮件的主题部分"); // 主题
    intent.putExtra(Intent.EXTRA_TEXT, "这是邮件的正文部分"); // 正文
    startActivity(Intent.createChooser(intent, "请选择邮件类应用"));
}

44、跳转联系人

public void startContact() {
  Intent intent = new Intent();
    intent.setAction(Intent.ACTION_VIEW);
    intent.setData(Contacts.People.CONTENT_URI);
    startActivity(intent);

    /*Intent intent = new Intent();
    intent.setAction(Intent.ACTION_PICK);
    intent.setData(Uri.parse("content://contacts/people"));
    startActivityForResult(intent, 5);*/
}

45、插入联系人

public void insertContact() {
  Intent intent = new Intent(Intent.ACTION_INSERT);
    intent.setData(ContactsContract.Contacts.CONTENT_URI);
    intent.putExtra(ContactsContract.Intents.Insert.PHONE, "18688888888");
    startActivityForResult(intent, 1);
}

46、插入日历事件

public void startCalender() {
 Intent intent = new Intent(Intent.ACTION_INSERT);
    intent.setData(CalendarContract.Events.CONTENT_URI);
    intent.putExtra(CalendarContract.Events.TITLE, "开会");
    startActivityForResult(intent, 1);
}

47、跳转浏览器

public void startBrowser() {
  Uri uri = Uri.parse("http://www.baidu.com");
    Intent intent = new Intent(Intent.ACTION_VIEW,uri);
    startActivity(intent);
}

48、安装应用

public void startInstall() {
 String filePath="/xx/xx/abc.apk";
    Intent intent = new  Intent(Intent.ACTION_VIEW);
    intent.setDataAndType(Uri.parse("file://" + filePath),
            "application/vnd.android.package-archive");
    startActivity(intent);
}

49、卸载应用

public void startUnInstall() {
  String packageName="cn.memedai.mas.debug";
    Uri packageUri = Uri.parse("package:"+packageName);//包名,指定该应用
    Intent uninstallIntent = new Intent(Intent.ACTION_DELETE, packageUri);
    startActivity(uninstallIntent);
}

50、回到桌面

public void startLauncherHome() {
  Intent intent = new Intent(Intent.ACTION_MAIN);
    intent.addCategory(Intent.CATEGORY_HOME);
    startActivity(intent);
}

51、打开任意文件(根据其MIME TYPE自动选择打开的应用)

private void openFile(File f) {
    Intent intent = new Intent();
    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    intent.setAction(android.content.Intent.ACTION_VIEW);
    String type = getMIMEType(f);
    intent.setDataAndType(Uri.fromFile(f), type);
    startActivity(intent);
}

private String getMIMEType(File f) {
    String end = f.getName().substring(f.getName().lastIndexOf(".") + 1,
            f.getName().length()).toLowerCase();
    String type = "";
    if (end.equalsIgnoreCase("mp3")
            || end.equalsIgnoreCase("aac")
            || end.equalsIgnoreCase("amr")
            || end.equalsIgnoreCase("mpeg")
            || end.equalsIgnoreCase("mp4")) {
        type = "audio";
    } else if(end.equalsIgnoreCase("mp4")
            || end.equalsIgnoreCase("3gp")
            || end.equalsIgnoreCase("mpeg4")
            || end.equalsIgnoreCase("3gpp")
            || end.equalsIgnoreCase("3gpp2")
            || end.equalsIgnoreCase("flv")
            || end.equalsIgnoreCase("avi")) {
        type = "video";
    } else if (end.equalsIgnoreCase("jpg")
            || end.equalsIgnoreCase("gif")
            || end.equalsIgnoreCase("bmp")
            || end.equalsIgnoreCase("png")
            || end.equalsIgnoreCase("jpeg")) {
        type = "image";
    } else {
        type = "*";
    }
    type += "/*";
    return type;
}

52、跳转录音

public void startRecord() {
 Intent intent = new Intent(MediaStore.Audio.Media.RECORD_SOUND_ACTION);
    startActivity(intent);
}

目前就先写这么多,有新的后续再补充。
如果这篇文章对你有帮助就赞一个吧!

本期节目就到这里,感谢您的收看,我们下期再见~

发布了40 篇原创文章 · 获赞 88 · 访问量 9万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章