一.显式调用方法
方法1 :
Intent intent=new Intent (此类,要跳转的类); //intent intent=new intent (main activity.this,JumpToActivity.class );
开始活动(intent;
方法2 :
Intent intent2=new Intent (;
intent2.setClass (本班,要跳的班); //intent2. setclass (main activity.this,JumpToActivity.class );
开始活动(intent 2;
方法3 ()此方法可用于打开其他APP应用程序。)。
Intent intent2=new Intent (;
intent2. set component (newcomponentname (main activity.this,JumpToActivity.class );
开始活动(intent 2;
组件、目标组件的包或类名(完整类名) :
使用component进行匹配时,一般采用以下形式。
intent.set component (newcomponentname (getapplicationcontext ),JumpToActivity.class );
intent.set component (newcomponentname (getapplicationcontext )、' com.liujc.test.JumpToActivity ' );
intent.set component (newcomponentname (com.liujc.test ),com.liujc.test.JumpToActivity ) );
2 :隐式调用方法
在action中跳转:
Intent intent=new Intent (;
intent.set action (con.liujc.test.jump );
开始活动(intent;
跳转到的Activity必须在AndroidManifest.xml中设置action:
使用方案跳转协议跳转:
Android scheme是一种页面内跳转协议,是一种非常好的实现机制,通过定义自己的scheme协议可以轻松跳转到app中的每个页面,在scheme协议中,服务器可以app跳转到该页面可以通过通知栏的消息自定义跳转页面,可以通过H5页跳转页面等。
URL方案协议格式:
liujc ://goods 33608080/goods详细信息? goodsId=20170112
上面的路径方案、主机、端口、路径和查询都包括:
liujc表示此方案协议名称
goods表示方案作用于哪个地址域
goodsDetail表示方案指定的页面
goodsId表示传递的参数
8080表示此路径的端口号
使用URL方案:
在AndroidManifest.xml中为标记添加方案:
Android : name='.goodsdetailactivity '
Android : theme=' @ style/app theme '
获取方案跳转的参数:
Uri uri=getIntent ().getData );
if(uri!=空) {
//完整的url信息
String url=uri.toString (;
log.e(tag,' url: ' uri );
//方案部分
String scheme=uri.getScheme (;
log.e(tag,'方案: '方案);
//host部分
String host=uri.getHost (;
log.e(tag,' host: ' host );
//port部分
int port=uri.getPort (;
log.e(tag,' host: ' port );
//访问能力
String path=uri.getPath (;
log.e(tag,' path: ' path );
listpathsegments=uri.getpath segments (;
//查询部分
String query=uri.getQuery (;
log.e(tag,' query: ' query );
//获取指定的参数值
stringgoodsid=uri.get query parameter (goods id );
log.e(tag,' goodsId: ' goodsId );
}
呼叫方式:
网页: (系统附带浏览器或谷歌浏览器) ) ) ) )。
打开商品详细信息
本地呼叫:
intent intent=new intent (intent.action _ view,uri.parse (liujc ://goods 33608080/gods详细信息? goodsId=20170112 ' );
开始活动(intent;
确定一个方案是否有效,如果有效,则启动:
打包管理器=getpackagemanager (;
intent intent=new intent (intent.action _ view,uri.parse (liujc ://goods 33608080/gods详细信息? goodsId=20170112 ' );
list activities=package manager.queryintentactivities (intent,0 );
布林is valid=! activities.isEmpty (;
if(isvalid ) {
开始活动(intent;
}