4. Intent的使用

1.显式使用
Intent intent = new Intent(NoautoActivity.this,MainActivity.class);
startActivity(intent);
2.隐式使用
Intent intent = new Intent("aystudio.nopi.allstudies.ACTION_START");
//添加Category对应活动添加  <category android:name="aystudio.nopi.allstudies.MY_CATEGORY"/>
intent.addCategory("aystudio.nopi.allstudies.MY_CATEGORY");
startActivity(intent);
  <intent-filter>
     <action android:name="aystudio.nopi.allstudies.ACTION_START" />
     <category android:name="android.intent.category.DEFAULT" />
     <!-- 对应添加 intent.addCategory("aystudio.nopi.allstudies.MY_CATEGORY"); -->
     <category android:name="aystudio.nopi.allstudies.MY_CATEGORY"/>
  </intent-filter>

3.更多隐式使用

intent-filter中data标签中的属性
在这里插入图片描述

//打开网页
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("http://www.baidu.com/"));
startActivity(intent);

//打开电话
Intent intent = new Intent(Intent.ACTION_DIAL);
intent.setData(Uri.parse("tel:10086"));
startActivity(intent);

配置<data android:scheme=“http” /> http可以隐式调用该Activity

<intent-filter>
    <action android:name="aystudio.nopi.allstudies.ACTION_START" />
    <category android:name="android.intent.category.DEFAULT" />
    <data android:scheme="http" />
</intent-filter>
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐