本系列文章,参考《第一行代码》,做为我的笔记java
更多内容:更多精品文章分类android
相对于显示 Intent ,隐式 Intent 比较含蓄。这种方式不明确指出咱们想要启动哪个 Activity。而是定义了一系列更为抽象的 action
和 category
等信息。而后交给系统去分析这个 Intent ,并帮咱们找出这个合适Activity。ide
合适的 Activity 就是指的能够响应这个隐式 Intent 的 Activity。函数
经过在 <activity>
标签下配置 <intent-filter>
的内容,能够指定当前 Activity 可以响应的 action 和 category。在 AndroidManifest.xml
中添加:this
bt.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View view){
Toast.makeText(MainActivity.this,"显示内容",Toast.LENGTH_SHORT).show();
Intent intent = new Intent("com.syd.start");
startActivity(intent);
}
});
每一个 Intent 中只能指定一个 action,可是能够指定多个 categoryspa
这个时候从新运行程序,点击按钮,就可使用隐式 Intent 来启动 SecondActivity
了。code
这里使用了 Intent
的另一个构造函数直接将 action
的字符传了过去,代表咱们想要启动的 Activity 须要可以响应 com.syd.start
这个 Action。前面咱们已经在 AndroidManifest.xml
中代表了 SecondActivity
能够响应这种 Action 了。orm
在 MainActivity
中将显示启动该为隐式启动cdn
在 <action>
标签中咱们指明了当前 Activity 能够响应 com.example.activitytest.ACTION_START
这个 action。<category>
标签包含了一些附加信息,更加精确的指明了当前 Activity 可以响应的 Intent 中还可能带有的category
只是可能带有,若是 Intent 中带有 category
则要启动的 Activity 的注册中必须有这个 category
才能够。若是 Intent 中没有带有 category
也是能够的。不过 Activity 在声明的时候只要声明了 action
就要带一个 <category android:name = "android.intent.category.DEFAULT"
不然使用 action 启动的时候会报错,这是由于用 startActivity()
方法的时候会自动将这个 category
添加到 Intent 中去。xml