正好Android SDK 给我们提供了解决方案,在网页中点击某个链接时,会匹配到Activity所配置的隐式Intent(配置在Manifest文件中)。
知道这个我们就好办了。
第一步:在Manifest文件中给TestActivity配置一个隐式Intent
<activity android:name=".activity.TestActivity">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:host="test"
android:scheme="testapp" />
</intent-filter>
</activity>
第二步:这时,当在网页中点击链接<a href="testapp://test">Start TestActivity</a>就会启动TestActivity了。
那么问题又来了,怎么传递参数到TestActivity中呢?
我们知道显式Intent一般是用Intent.putExtra()来实现的,那么隐式Intent该如何实现呢?
同样的,还是通过这个链接传递,只是加上我们要传的参数。这时链接可以这么写:
<a href="testapp://test?id=100101&title=HelloAndroid">StartTestActivity</a>
我们可以在TestActivity来取得这两个参数:
Uri uri = getIntent().getData();
Strinng id = uri.getQueryParameter("id");
Strinng title = uri.getQueryParameter("title");
这样就完美实现了隐式Intent的参数传递了。
最后提供一个Demo供大家学习:
原文链接:http://www.eoeandroid.com/thread-568674-1-1.html
分享到:
相关推荐
首先,让我们理解标题"安卓启动退出网络判断相关-从网页启动Activity.zip"。这表明我们有一个安卓应用,该应用可能是通过网页链接启动的(可能是通过点击一个网页上的按钮)。启动后,应用需要检查网络连接,因为这...
4. **从网页启动Activity**:在描述中提到的“从网页中启动Activity”,这涉及到Android的Intent机制。通过在网页中嵌入特定的链接或者使用JavaScript接口,当用户点击或交互时,可以启动安卓设备上的特定Activity。...
### 一、Intent启动Activity #### 1. 显式启动 显式启动是通过Intent明确指定要启动的Activity的类名。创建Intent时,你需要在构造函数中传入当前Activity(`this`)和目标Activity的Class对象,如下所示: ```...
最后,使用Context的startActivity()方法启动Activity: ```java startActivity(intent); ``` **三、隐式Intent启动Activity** 在不知道目标Activity的确切类名时,可以使用隐式Intent。系统会遍历所有已注册的...
启动Activity的原Activity会在其`onActivityResult()`回调中接收到这些结果,从而可以根据返回数据做出相应的处理。 以下是一个简单的`startActivityForResult()`示例: ```java Intent intent = new Intent(this,...
总结,网页内启动客户端程序在Android中主要依赖于WebView和Intent机制,通过JavaScript与Java对象的交互,实现从网页到Android应用的无缝跳转。这不仅可以提高用户操作的便捷性,也能增强应用的互动性和用户体验。...
这里的URL并不是实际的网页链接,而是使用了Intent的格式,以便在点击时启动新的Activity。`setMovementMethod`方法使TextView能响应链接的点击事件。 当用户点击链接时,系统会解析Intent并尝试启动对应的Activity...
启动Activity时,可以通过Intent的setFlags()方法设置不同的启动模式,如标准模式、单实例模式、单任务模式和单栈顶模式。这些模式会影响Activity的生命周期和栈管理,比如决定新Activity是否创建新的任务栈,或者...
Intent是启动Activity的主要方式,通过Intent,开发者可以启动新的Activity或在现有Activity之间进行切换。例如,当用户点击一个按钮时,我们可以创建一个Intent,声明想要执行的动作(如显示详细信息),然后用...
Intent的作用非常广泛,可以用来启动Activity、Service、Broadcast等。例如,启动一个Activity的代码如下: ```java class ButtonListener implements OnClickListener { public void onClick(View v) { Intent ...
总结起来,实现TextView超链接启动Activity且无下划线、自定义颜色的关键在于使用`ClickableSpan`或自定义的`URLSpan`子类,以及正确设置`MovementMethod`。这种方法允许开发者更好地控制链接的外观和行为,提升用户...
**显示启动**:通过明确指定目标 Activity 的类名来启动另一个 Activity。 ```java // 显示启动示例 Intent intent = new Intent(MainActivity.this, SecondActivity.class); startActivity(intent); ``` **隐式...
Intent可以用于启动Activity、服务、广播等,承担了Android应用程序核心组件相互间的通信功能。 Intent简介 Intent是一个动作的完整描述,包含了动作的产生组件、接收组件和传递的数据信息。一个Intent对象包含一组...
一个Activity从创建到销毁,会经历如onCreate()、onStart()、onResume()、onPause()、onStop()、onDestroy()等方法。开发者需要在这些方法中合理地管理资源和状态,以实现高效的性能和良好的用户体验。 **Activity ...
当我们需要从一个Activity跳转到另一个Activity时,我们通常会使用Intent对象来实现。Intent在Android中是一个非常重要的概念,它被用来在不同的组件之间提供运行时的连接,尤其是在Activity之间进行通信和跳转时。...
`Intent`用于表示一个动作,比如打开一个网页或发送一个消息,而`Intent Filter`则定义了`Activity`能响应的`Intent`类型。 在源码分析方面,可能涉及`Activity`的生命周期方法,如`onCreate()`, `onStart()`, `...
在Android开发中,有时我们需要在不创建自定义应用界面的情况下启动系统内置的Activity,比如打开系统浏览器、调用相册、发送短信或者拨打电话。这些操作通常涉及到Android系统的Intent机制和特定的Intent过滤器。本...
在Android开发中,"通过浏览器...通过正确配置和实现,我们可以创建一个流畅的用户体验,让用户从浏览网页无缝过渡到使用我们的应用。这个过程涉及到的技术细节较多,需要开发者对Android系统和Web交互有深入的理解。