
我们也可以使用隐士意图激活自定义的界面,并且可以携带数据:
效果:
点击第二个按钮后:
点击最后一个按钮(激活系统短消息界面)后:
附代码:
主窗体的代码:
package com.yy.twoactivity;import androID.app.Activity;import androID.content.Intent;import androID.net.Uri;import androID.os.Bundle;import androID.vIEw.VIEw;public class MainActivity extends Activity { @OverrIDe protected voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentVIEw(R.layout.activity_main); } /** * 点击事件,当用户点击的时候跳转到第二个界面 * @param vIEw */ public voID click(VIEw vIEw){ //意图 Intent intent=new Intent(); //设置包和界面,显式意图 intent.setClassname(this,"com.yy.twoactivity.SecondActivity"); //跳转到新的设定好的界面 startActivity(intent); } /** * 点击事件,当用户点击的时候隐式意图跳转到第二个界面 * @param vIEw */ public voID click3(VIEw vIEw){ //意图 Intent intent=new Intent(); //设置包和界面,隐式意图 intent.setAction("com.yy.xxx"); //设置额外的信息【非必需,和主配置文件对应】 intent.addcategory(Intent.category_DEFAulT); //设置数据【非必须,和主配置文件对应,可以携带数据】 intent.setData(Uri.parse("yy:adbc")); //跳转到新的设定好的界面 startActivity(intent); } /** * 点击事件,激活系统的应用 程序界面 * @param vIEw */ public voID click2(VIEw vIEw){ //意图 Intent intent=new Intent(); //设置预打开系统应用的包和界面,显式意图 // cmp=com.androID.gallery/com.androID.camera.galleryPicker intent.setClassname("com.androID.gallery","com.androID.camera.galleryPicker"); //跳转到新的设定好的界面 startActivity(intent); } /** * 点击事件,当用户点击的时候隐式意图激活系统短消息 * @param vIEw */ public voID click4(VIEw vIEw){ //意图 Intent intent=new Intent(); //设置包和界面,隐式意图 intent.setAction("androID.intent.action.SENDTO"); //设置额外的信息【非必需,和主配置文件对应】 intent.addcategory("androID.intent.category.DEFAulT"); //设置数据【非必须,和主配置文件对应,可以携带数据】,前缀是看短信息应用配置文件的scheme知道的 intent.setData(Uri.parse("sms:15588890908")); //跳转到新的设定好的界面 startActivity(intent); }}第二个窗体的代码:
package com.yy.twoactivity;import androID.app.Activity;import androID.content.Intent;import androID.net.Uri;import androID.os.Bundle;public class SecondActivity extends Activity { @OverrIDe protected voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentVIEw(R.layout.activity2); //获取打开当前界面的意图 Intent intent=getIntent(); Uri uri=intent.getData(); //获取到使用intent.setData(Uri.parse("yy:adbc"));携带的数据 String data=uri.getSchemeSpecificPart(); System.out.println(data); }}另外需要在AndorIDManifest.xml文件中配置:
<application androID:allowBackup="true" androID:icon="@drawable/ic_launcher" androID:label="@string/app_name" androID:theme="@style/Apptheme" > <activity androID:name=".MainActivity" androID:label="@string/app_name" > <intent-filter> <action androID:name="androID.intent.action.MAIN" /> <category androID:name="androID.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity androID:name=".SecondActivity" androID:label="@string/app_second_name" > <intent-filter> <action androID:name="com.yy.xxx"/> <category androID:name="androID.intent.category.DEFAulT"></category> <data androID:scheme="yy"/> </intent-filter> </activity> </application>
以上这篇androID隐式意图激活自定义界面和系统应用界面的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持编程小技巧。
总结以上是内存溢出为你收集整理的android隐式意图激活自定义界面和系统应用界面的实例全部内容,希望文章能够帮你解决android隐式意图激活自定义界面和系统应用界面的实例所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)