Android跳转系统界面_大全集

来源:互联网 发布:钟鼎创投 知乎 编辑:程序博客网 时间:2024/04/28 10:41

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:6666666@qq.com");    String[] email = {"12345678@qq.com"};    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);}

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

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

0 0
原创粉丝点击