博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android隐式意图激活自定义界面和系统应用界面
阅读量:4947 次
发布时间:2019-06-11

本文共 3344 字,大约阅读时间需要 11 分钟。

我们也可以使用隐士意图激活自定义的界面,并且可以携带数据:

效果:

点击第二个按钮后:

点击最后一个按钮(激活系统短消息界面)后:

 

附代码:

主窗体的代码:

1 package com.yy.twoactivity; 2  3 import android.app.Activity; 4 import android.content.Intent; 5 import android.net.Uri; 6 import android.os.Bundle; 7 import android.view.View; 8  9 public class MainActivity extends Activity {10 11     @Override12     protected void onCreate(Bundle savedInstanceState) {13         super.onCreate(savedInstanceState);14         setContentView(R.layout.activity_main);15     }16     17     /**18      * 点击事件,当用户点击的时候跳转到第二个界面19      * @param view20      */21     public void click(View view){22         //意图23         Intent intent=new Intent();24         //设置包和界面,显式意图25         intent.setClassName(this, "com.yy.twoactivity.SecondActivity");26         //跳转到新的设定好的界面27         startActivity(intent);28     }29     30     /**31      * 点击事件,当用户点击的时候隐式意图跳转到第二个界面32      * @param view33      */34     public void click3(View view){35         //意图36         Intent intent=new Intent();37         //设置包和界面,隐式意图38         intent.setAction("com.yy.xxx");39         //设置额外的信息【非必需,和主配置文件对应】40         intent.addCategory(Intent.CATEGORY_DEFAULT);41         //设置数据【非必须,和主配置文件对应,可以携带数据】42         intent.setData(Uri.parse("yy:adbc"));43         //跳转到新的设定好的界面44         startActivity(intent);45     }46     47     /**48      * 点击事件,激活系统的应用 程序界面49      * @param view50      */51     public void click2(View view){52         //意图53         Intent intent=new Intent();54         //设置预打开系统应用的包和界面,显式意图55         // cmp=com.android.gallery/com.android.camera.GalleryPicker 56         intent.setClassName("com.android.gallery", "com.android.camera.GalleryPicker");57         //跳转到新的设定好的界面58         startActivity(intent);59     }60     61     /**62      * 点击事件,当用户点击的时候隐式意图激活系统短消息63      * @param view64      */65     public void click4(View view){66         //意图67         Intent intent=new Intent();68         //设置包和界面,隐式意图69         intent.setAction("android.intent.action.SENDTO");70         //设置额外的信息【非必需,和主配置文件对应】71         intent.addCategory("android.intent.category.DEFAULT");72         //设置数据【非必须,和主配置文件对应,可以携带数据】,前缀是看短信息应用配置文件的scheme知道的73         intent.setData(Uri.parse("sms:15588890908"));74         //跳转到新的设定好的界面75         startActivity(intent);76     }77 }

 

第二个窗体的代码:

1 package com.yy.twoactivity; 2  3 import android.app.Activity; 4 import android.content.Intent; 5 import android.net.Uri; 6 import android.os.Bundle; 7  8 public class SecondActivity extends Activity { 9     @Override10     protected void onCreate(Bundle savedInstanceState) {11         super.onCreate(savedInstanceState);12         setContentView(R.layout.activity2);13         14         //获取打开当前界面的意图15         Intent intent=getIntent();16         Uri uri=intent.getData();17         //获取到使用intent.setData(Uri.parse("yy:adbc"));携带的数据18         String data=uri.getSchemeSpecificPart();19         System.out.println(data);20     }21 }

 

另外需要在AndoridManifest.xml文件中配置:

1  
6
9
10
11 12
13
14
15
18
19
20
21
22
23 24

 

转载于:https://www.cnblogs.com/javayuan/p/4951330.html

你可能感兴趣的文章
安卓Drawable——Shape
查看>>
集合 LinkedList、ArrayList、Set、Treeset
查看>>
Python 发邮件
查看>>
关于js事件执行顺序
查看>>
SQL中inner join、outer join和cross join的区别
查看>>
Android零基础入门第72节:SwipeRefreshLayout下拉刷新
查看>>
rtsp简介
查看>>
Linux消息队列
查看>>
XMPPframework
查看>>
LINUX下oracle数据库用户创建步骤
查看>>
【js】批量判断表单中的文本框非空
查看>>
RSA加密算法的java实现
查看>>
EM算法索引
查看>>
[mysql]匹配是否包含中文,英文
查看>>
CAD实时显示代码过程中对图元的操作
查看>>
[No000048]程序员的成长过程中,有哪些阶段?
查看>>
Codeforces 821E Okabe and El Psy Kongroo(矩阵快速幂)
查看>>
python "=",深,浅 拷贝
查看>>
java.sql.SQLException: Locale not recognized处理
查看>>
BZOJ 2953 POI2002 商务旅行
查看>>