通过action和uri启动另一个应用的activity

通过action和uri启动另一个应用的activity

 

起始页:

①Intent intent = new Intent("com.test.main", Uri.parse("xxx://com.test.main?action=111"));

startActivity(intent);

其中,第一个参数为action,"xxx"为scheme,"com.test.main"为host,action=111标示参数的key为“action”,值为111.

注意,action需要全部为小写

② Intent intent = new Intent();//不需要action也可以跳转

intent.setData(Uri.parse("xxx://com.test.main?action=111"));

startActivity(intent);

目标页:

被启动的activity在清单文件里的注册规则:

//一定要加这个category

//注意action需要为小写

android:host="com.test.main"

android:scheme="xxx">

传值:

  1. Intent intent = getIntent();
  2. if (null != intent) {
  3. Uri uri = intent.getData();
  4. if (uri == null) {
  5. return;
  6. }
  7. String acionData = uri.getQueryParameter("action");
  8.  
  9. TextView tv = (TextView)findViewById(R.id.qijian_test_tv);
  10. tv.append("\n传过来的action值为:" + acionData);
  11. }

android:exported 是Android中的四大组件 Activity,Service,Provider,Receiver 四大组件中都会有的一个属性。

总体来说它的主要作用是:是否支持其它应用调用当前组件。

默认值:如果包含有intent-filter 默认值为true; 没有intent-filter默认值为false

你可能感兴趣的:(android)