您的位置:首页 > 其它

Intent知识小学习

2015-05-04 22:13 323 查看
1. 显示Intent

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//setContentView(R.layout.activity_main);
setContentView(R.layout.my_layout);
//启动另一个activity
findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//startActivity(new Intent(MainActivity.this,anotheraty.class));
//显示
Intent i = new Intent(MainActivity.this,anotheraty.class);
startActivity(i);
}
});
}


运行时需要配置AndroidManifest.xml

<activity
android:name=".anotheraty"//配置
android:label="@string/title_activity_anotheraty" >
</activity>


2. 隐试Intent

//AndroidManifest.xml
<activity
android:name=".anotheraty"
android:label="@string/title_activity_anotheraty" >
<intent-filter>
<category android:name="android.intent.category.DEFAULT"/>
//隐试约定下面格式
<action android:name="com.cins.intent.action.anotheraty"/>
</intent-filter>
</activity>


//activity
public  static final String ACTION = "com.cins.intent.action.anotheraty";
public void onClick(View v) {
startActivity(new Intent(anotheraty.ACTION));
}


通过ACTION启动其它应用:

3. Intent过滤器相关选项

使同一个ACTION,就会出现多个应用自己选一个

通过data可以直接跳到指定的activity

<intent-filter>
<category android:name="android.intent.category.DEFAULT"/>
<action android:name="com.cins.intent.action.anotheraty"/>
<data android:scheme="app"/>
</intent-filter>


startActivity(new Intent("com.cins.intent.action.anotheraty",Uri.parse("app://www.baidu.com")));


通过浏览器链接启动本地Activity

从网页打开本地Activity

<activity
android:name=".anotheraty"
android:label="@string/title_activity_anotheraty" >
<intent-filter>
<category android:name="android.intent.category.BROWSABLE"/>
<category android:name="android.intent.category.DEFAULT"/>
<action android:name="android.intent.action.VIEW"/>
<data android:scheme="app"/>
</intent-filter>
</activity>


浏览器:

<a href = "app://hello">Launch</a>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息