须知少年凌云志,曾许人间第一流。这篇文章主要讲述在Android中Intent的概念及应用——显示Intent和隐式Intent相关的知识,希望能为你提供帮助。
Intent寻找目标组件的两种方式:
显式Intent:通过指定Intent组件名称来实现的,它一般用在知道目标组件名称的前提下,一般是在相同的应用程序内部实现的。
隐式Intent:通过Intent Filter来实现的,它一般用在没有明确指出目标组件名称的前提下,一般是用于在不同应用程序之间。
一、显示Intent:
创建一个Activity的完整过程:
1、手动创建一个类,让其继承自Activity:
public class MyAty extends Activity
2、让其绑定一个视图:
public class MyAty extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.myaty);
}
}
3、AndroidMainfest.xml文件进行Intent的配置:
<
activity android:name=".MyAty"/>
<
!--<
activity android:name="com.w.learnintent.MyAty"/>
-->
4、启动的功能代码:
activity_main.xml文件中:<
Button android:text="Start MyAty" android:id="@+id/btnStartMyAty" />
MainActivity.java文件中:
findViewById(R.id.btnStartMyAty).setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
startActivity(new Intent(MainActivity.this,MyAty.class));
//显示Intent
}
二、隐式Intent:
1、AndroidMainfest.xml文件进行Intent的配置:
<
activity android:name=".MyAty">
<
intent-filter>
<
category android:name="android.intent.category.DEFAULT"/>
<
action android:name="com.w.learnIntent.intent.action.MyAty"/>
<
/intent-filter>
<
/activity>
2、在被启动的Activity——MyAty.java中创建一个字符串ACTION:
public static final String ACTION = "com.w.learnIntent.intent.action.MyAty";
3、启动的功能代码:
startActivity(new Intent(MyAty.ACTION));
//隐式Intent
三、不同应用程序之间(隐式Intent):
1、在原有项目基础上新建module,创建另一个程序。
2、原有项目AndroidMainfest.xml文件进行Intent的配置:
<
activity android:name=".MyAty" android:exported="false">
<
!-- android:exported:该服务是否能够被其他应用程序组件调用或跟它交互-->
<
intent-filter>
<
category android:name="android.intent.category.DEFAULT"/>
<
action android:name="com.w.learnIntent.intent.action.MyAty"/>
<
/intent-filter>
<
/activity>
3、新项目的MainActivity.java文件中:
findViewById(R.id.btnStartMyAty).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try {
startActivity(new Intent("com.w.learnIntent.intent.action.MyAty"));
}catch(Exception e){
Toast.makeText(MainActivity.this,"无法启动指定的Activity",Toast.LENGTH_SHORT).show();
//Toast.LENGTH_SHORT短时间呈现
}
}
【在Android中Intent的概念及应用——显示Intent和隐式Intent】
推荐阅读
- android的ListView
- android 编译代码注意事项
- Android 图片圆角的设置
- ANDROID Installation error: INSTALL_FAILED_CONFLICTING_PROVIDER
- Android Studio 配置使用百度api (附带简单样例)
- Android保存ArrayList至SharedPreferences
- xamarin android,UWP 网络类型和IP地址
- java/Android 接口调用的几种写法
- Android canvas rotate():平移旋转坐标系至任意原点任意角度-------附(android反三角函数小结)