1. 编程实现Intent的显示跳转。在MainActivity中定义Intent,启动SecondActivity,能够获取SecondActivity的返回值; 2、使用Intent过滤器实现隐式跳转。在MainActiviy中定义Intent,要求必须用到自定义的action、category、data来启动ThirdActivity; 3. 实现通过Intent调用android内置浏览器; 4. 通过Intent实现广播消息的接收。在MainActivity中定义Intent,将界面上某文本框中的内容以广播消息的形式发出。广播消息可以使用Toast或Logcat。
时间: 2024-03-19 13:40:32 浏览: 78
Android 几种屏幕间跳转的跳转Intent Bundle
好的,我明白了。下面是对你的每一个问题的解答:
1. 显示跳转:
在MainActivity中定义Intent,启动SecondActivity,能够获取SecondActivity的返回值,可以使用以下代码:
```
//在MainActivity中定义Intent
Intent intent = new Intent(MainActivity.this, SecondActivity.class);
startActivityForResult(intent, requestCode); //requestCode是一个整数值,用于标识该请求
//在SecondActivity中获取返回值
Intent intent = getIntent();
String result = intent.getStringExtra("result"); //result是一个字符串,代表返回值
setResult(Activity.RESULT_OK, intent); //将返回值设置到Intent中
finish(); //结束SecondActivity
```
2. 隐式跳转:
使用Intent过滤器实现隐式跳转,在MainActiviy中定义Intent,要求必须用到自定义的action、category、data来启动ThirdActivity,可以使用以下代码:
```
//在MainActivity中定义Intent
Intent intent = new Intent();
intent.setAction("com.example.ACTION_START");
intent.addCategory("com.example.CATEGORY_START");
intent.setData(Uri.parse("http://www.example.com"));
startActivity(intent);
//在ThirdActivity中设置Intent过滤器
<activity android:name=".ThirdActivity">
<intent-filter>
<action android:name="com.example.ACTION_START" />
<category android:name="com.example.CATEGORY_START" />
<data android:scheme="http" android:host="www.example.com" />
</intent-filter>
</activity>
```
3. 调用android内置浏览器:
实现通过Intent调用android内置浏览器,可以使用以下代码:
```
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("http://www.example.com"));
startActivity(intent);
```
这段代码会打开默认的浏览器并且加载指定的网址。
4. 广播消息的接收:
通过Intent实现广播消息的接收,在MainActivity中定义Intent,将界面上某文本框中的内容以广播消息的形式发出,可以使用以下代码:
```
//在MainActivity中定义Intent
Intent intent = new Intent("com.example.MY_BROADCAST");
intent.putExtra("message", message); //message是一个字符串,代表广播消息的内容
sendBroadcast(intent);
//在BroadcastReceiver中接收广播消息
public class MyReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
String message = intent.getStringExtra("message"); //获取广播消息的内容
Toast.makeText(context, message, Toast.LENGTH_SHORT).show(); //将广播消息显示在Toast中
}
}
```
这段代码会发送一个名为"com.example.MY_BROADCAST"的广播消息,并且携带一个名为"message"的字符串。在BroadcastReceiver中接收到广播消息后,就可以获取该字符串并且将其显示在Toast中。
阅读全文