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点击图标启动程序和从程序中跳转过去的区别等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)