Android之Activity的几种跳转方式

Android之Activity的几种跳转方式,第1张

intent2setComponent(new ComponentName(this, OtherActivityclass)); //方法4startActivity(intent2);2隐式调用方法(只要action、category、data和要跳转到的Activity在AndroidManifestxml中设置的匹配就OK3跳转到另一个Activity后,当返回时能返回数据在跳转的Activity端,调用startActivityForResult(intent2, 1),跳转到下一个Activity,其中第一个参数为传入的意图对象,第二个为设置的请求码;跳转到第二个Activity后,调用setResult(100, intent)方法可返回上一个Activity,其中第一个参数为结果码,第二个为传入的意图对象;

额你这个图,眼睛不好的人还真难看清楚!

图中关于界面跳转的有两种需求,1、普通跳转。2、带数据返回。

第一个的普通跳转简单的就是(A界面跳转B界面):startActivity(new Intent(Athis,Bclass));

如下带参数给B界面:

Intent i = new Intent(Athis,Bclass);

iputExtra("uName", "legend");

iputExtra("uAge", 18);

startActivity (i);

第二个是需要B返回A时携带参数给A的:

①在A类中实现一个重载函数:protected void onActivityResult(int requestCode, int resultCode, Intent data)//具体参数意思请另行百度或API

②A类启动B类时使用:

Intent i = new Intent(Athis,Bclass);

iputExtra("uName", "legend");

iputExtra("uAge", 18);

startActivityForResult(i, REQUESTCODE );//其中REQUESTCODE 对应的onActivityResult重载方法中的第一个requestCode参数值

③B类中返回时:

Intent resultIntent = new Intent();

resultIntentputExtra("price", "$12/公斤");

resultIntentputExtra("img", "本地imgUrl"); //不建议直接把放入传回去,这里传名之类的,回去后本地读取。

setResult(RESULTCODE, resultIntent); //RESULTCODE值对应onActivityResult重载方法中的resultCode参数。

finish();

这样A界面就能在onActivityResult中收到B界面传回来的值了解析onActivityResult方法中的Intent data参数即可。

从主界面点击图标进入

是因为启动程序(主界面也是一个app),发现了在这个程序中存在一个设置为

<category android:name="androidintentcategoryLAUNCHER" />

的activity,所以这个launcher会把icon提出来,放在主界面上。

当用户点击icon的时候,发出一个Intent:

Intent intent = mActivitygetPackageManager()getLaunchIntentForPackage(packageName);

mActivitystartActivity(intent);

通过上面的代码,

再看看其他程序跳过去

跳过去可以跳到任意允许的页面,如一个程序可以下载,那么真正下载的页面可能不是首页(也有可能是首页),

这时还是构造一个Intent,startActivity这个intent中的action可能有多种view,download都有可能。系统会根据第三方程序向系统注册的功能,为你的Intent选择可以打开的程序或者页面。

所以唯一的一点不同的是从icon的点击启动的intent的action是相对单一的,从程序中跳转或者启动可能样式更多一些。本质是相同的。

一、启动android默认浏览器

在Android程序中我们可以通过发送隐式Intent来启动系统默认的浏览器。如果手机本身安装了多个浏览器而又没有设置默认浏览器的话,系统将让用户选择使用哪个浏览器来打开连接。关于Intent的更多内容请参考《常用Intent》

示例1

Intent intent =newIntent();

        intentsetAction("androidintentactionVIEW");

        Uri content_url =Uriparse(">

在java文件中

//-新建Intent对象

Intent intent = new Intent();

//-指定传递对象,mainActivity为传递对象,Activity2为被传递对象intentsetClass(mainActivitythis,Activity2class);

//-将Intent传递给Activity

startActivity(intent);

//-结束当前Activity

mainActivitythisfinish();

在AndroidManifestxml文件中

<activity

android:name="Activity2" >

</activity>

注:Activity2为要跳转的页面

在mainActivity中用setContentView(Rlayoutmain);与第一个界面相关联(mainxml为第一个界面)

在Activity2中用setContentView(Rlayoutmain2);与要跳转的那个界面关联起来(mainxml为要跳转过去的那个界面)

以上就是关于Android之Activity的几种跳转方式全部的内容,包括:Android之Activity的几种跳转方式、帮我写个android界面跳转的小小程序,,谢谢...、Android点击图标启动程序和从程序中跳转过去的区别等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/10211674.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存