展会信息港展会大全

Android 隐性Intent
来源:互联网   发布日期:2016-01-14 09:17:18   浏览:1237次  

导读:Android的Intent分为两大类,显性的(Explicit )的和隐性的(Implicit)。显性的很简单就是我们常用的Activit跳转,他指明了从一个Activity跳转到另一个。在SecondActivity这个配置中有一个intent-filter,其中它定......

Android的Intent分为两大类,显性的(Explicit )的和隐性的(Implicit)。

显性的很简单就是我们常用的Activit跳转,他指明了从一个Activity跳转到另一个。

在SecondActivity这个配置中有一个intent-filter,其中它定义了action的名称。所谓的隐性Intent就是靠这个action的名称来传递。

代码如下:

[代码] 显式

1

Intent i = new Intent(this,AnotherActivity.class);

2

startActivity(i);

[代码] Main.java

01

import android.app.Activity;

02

import android.content.Intent;

03

import android.net.Uri;

04

import android.os.Bundle;

05

06

public class Main extends Activity {

07

private final String mapSearchIntent = "com.decarta.mapsearch.intent.action.SEARCH";

08

09

/** Called when the activity is first created. */

10

11

@Override

12

public void onCreate(Bundle savedInstanceState) {

13

super.onCreate(savedInstanceState);

14

setContentView(R.layout.main);

15

Uri mapUri = Uri.parse("geo:39.906033,116.397700");

16

Intent i = new Intent(mapSearchIntent, mapUri);

17

i.setData(mapUri);

18

startActivity(i);

19

}

20

}

[代码] SecondActivity.java

01

import android.app.Activity;

02

import android.content.Intent;

03

import android.net.Uri;

04

import android.os.Bundle;

05

06

/**

07

* @author Tony Shen

08

*/

09

10

public class SecondActivity extends Activity{

11

private Uri data;

12

private String action;

13

14

/** Called when the activity is first created. */

15

16

@Override

17

public void onCreate(Bundle savedInstanceState) {

18

super.onCreate(savedInstanceState);

19

Intent intent = getIntent();

20

if (intent.getAction() != null)

21

action = intent.getAction();

22

if (intent.getData()!=null)

23

data = intent.getData();

24

if (action.equals("com.decarta.mapsearch.intent.action.SEARCH")) {

25

Intent i = new Intent(Intent.ACTION_VIEW, data);

26

startActivity(i);

27

}

28

}

29

}

[代码] [XML]代码

01

<application android:icon="@drawable/icon" android:label="@string/app_name">

02

<activity android:name=".Main" android:label="@string/app_name">

03

<intent-filter>

04

<action android:name="android.intent.action.MAIN" />

05

<category android:name="android.intent.category.LAUNCHER" />

06

</intent-filter>

07

</activity>

08

<activity android:name=".SecondActivity">

09

<intent-filter>

10

<action android:name="com.decarta.mapsearch.intent.action.SEARCH" />

11

<category android:name="android.intent.category.DEFAULT" />

12

<data android:scheme="geo" />

13

</intent-filter>

14

</activity>

15

</application>

16

<application android:icon="@drawable/icon" android:label="@string/app_name">

17

<activity android:name=".Main" android:label="@string/app_name">

18

<intent-filter>

19

<action android:name="android.intent.action.MAIN" />

20

<category android:name="android.intent.category.LAUNCHER" />

21

</intent-filter>

22

</activity>

23

24

<activity android:name=".SecondActivity">

25

<intent-filter>

26

<action android:name="com.decarta.mapsearch.intent.action.SEARCH" />

27

<category android:name="android.intent.category.DEFAULT" />

28

<data android:scheme="geo" />

29

</intent-filter>

30

</activity>

31

</application>

赞助本站

人工智能实验室

相关热词: 隐性Intent

AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港