android开发教程:android调用activity简单方法

在没看麦子学院的教学视频之前,觉得在一个apk中调用另外一个apk中的activity是件非常麻烦的事情,有时候很害怕遇见这类问题,但是看了android开发教程视频之后,觉得这本来是一件很简单的事情,所以写篇小文章供参考。

系统提供了很多可以直接调用的Activity,通过指定的Intent就可以调用,比如打开搜索的:

Java代码

1. Intent intent = new Intent(Intent.ACTION_WEB_SEARCH);

2. intent.putExtra(SearchManager.QUERY,"searchString")

3. startActivity(intent);

Intent.ACTION_WEB_SEARCH是一个字符串,是“搜索”这个Activity的标识,extra是传给这个activity的一些数据。发送出这个intent之后,系统根据action字符串Intent.ACTION_WEB_SEARCH知道了是要调用哪个activity,如果有重名,会弹出一个选择对话框。然后打开此activity,实现想要做的事情。

那么,我们自己怎么来实现呢。
    首先,写一个activity,在AndroidManifest.xml里面的intent-filter中,给这个activity命名,

Xml代码

1. <intent-filter>

2.         <action android:name="chroya.foo"/>

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

4. </intent-filter>

然后安装。安装完毕之后,你会发现,系统中找不到这个程序。别急,它确实安装在手机里面了,但是因为他不是main的,所以系统不会把他当做Application的入口程序。

而要想打开这个activity,只有知道它名字的人才可以。跟系统的intent一样使用。它的名字定义为"chroya.foo",所以,这里用这个字符串就可以调用它了:

Java代码

1. Intent intent = new Intent("chroya.foo");

2. startActivity(intent);

我用刚才举的那个系统的intent说明,它的activity里面使用getIntent().getBundleExtra(SearchManager.QUERY)来接收传递进来的搜索字符串参数。而这个SearchManager.QUERY是关键字。如果要自己实现这种功能,只需要定义好关键字,然后从BundleExtra中取就行了。

更多android开发教程尽在:http://www.maiziedu.com/course/android/

时间: 2024-08-04 15:56:51

android开发教程:android调用activity简单方法的相关文章

从零开始学android开发-用Intent启动Activity的方法

启动另外一个Activity,可以有的方法有用setClass()和Component Name 1. 先说在setClass启动一个Activity的方法吧: Intent intent = new Intent(); intent.setClass(this, CreatePlaylist.class) //参数一为当前Package的context,t当前Activity的context就是this,其他Package可能用到createPackageContex()参数二为你要打开的Ac

android开发中关于继承activity类中方法的调用

android开发中关于继承activity类中的函数,不能在其他类中调用其方法. MainActivity.java package com.example.testmain; import android.app.Activity; import android.os.Bundle; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState)

Android开发学习笔记之Activity属性设置

麦子学院android开发老师说Activity是Android组件中最基本也是最为常见用的四大组件之一,在android开发中运用极为广泛,作为android开发初学者需要熟练掌握,麦子学院android开发老师分享了Activity属性的常用设置. android:allowTaskReparenting 是否允许activity更换从属的任务,比如从短信息任务 切换到浏览器任务. android:alwaysRetainTaskState 是否保留状态不变, 比如切换回home, 再从新打

android开发教程:android手势翻页效果

听麦子学院android开发老师说要实现手势翻页效果,主要用到ViewFlipper和GestureDetector.  ViewFlipper变化当前显示内容,GestureDetector监听手势.  用于多页的展示非常酷.  现在我就给大家简单说明下,  首先创建工程:TestFlip,创建主Activity:TestFlip.  在res/layout/main.xml中添加flipper信息,如下:  Java代码   1. <?xml version="1.0" en

C#程序员学习Android开发系列之调用WebService

我在学习Android开发过程中遇到的第一个疑问就是Android客户端是怎么跟服务器数据库进行交互的呢?这个问题是我当初初次接触Android时所困扰我的一个很大的问题,直到几年前的一天,我突然想到WebService是否可以呢?让WebService充当服务器端的角色,完成与服务器数据库操作相关的事情,而Android客户端只要按照WebService方法参数的要求去调用就行了.在当时我对这个解决方案的实现还没模糊,我想这个问题也是初学Android的朋友肯定会想到的问题.那么现在就让我们动

Android Service AIDL 远程调用服务 简单音乐播放实例的实现

Android Service是分为两种: 本地服务(Local Service): 同一个apk内被调用 远程服务(Remote Service):被另一个apk调用 远程服务需要借助AIDL来完成. AIDL 是什么 AIDL (Android Interface Definition Language) 是一种IDL 语言,用于生成可以在Android设备上两个进程之间进行进程间通信(interprocess communication, IPC)的代码.如果在一个进程中(例如Activi

ArcGIS Runtime for Android开发教程V2.0(3)基础篇---Hello World Map

原文地址: ArcGIS Runtime for Android开发教程V2.0(3)基础篇---Hello World Map - ArcGIS_Mobile的专栏 - 博客频道 - CSDN.NET http://blog.csdn.net/arcgis_mobile/article/details/8124005 通过上面章节,我们已经了解如何配置一个ArcGIS Runtime for Android开发环境,下面我们将介绍如何使用Eclipse创建一个ArcGIS移动项目Hello W

Android开发教程复选框详解

前面麦子学院的android开发老师给大家介绍过关于Android开发教程单选框详解,今天麦子学院的android开发老师给大家讲android复选框的一些基本内容. ●设置复选框的Check状态的时候,调用setChecked()方法 ●追加Android复选框被选择时处理的时候, 1.调用setOnCheckedChangeListener()方法,并把CompoundButton.OnCheckedChangeListener实例作为参数传入 2.在CompoundButton.OnChe

ArcGIS Runtime for Android开发教程V2.0(4)基础篇---MapView

原文地址: ArcGIS Runtime for Android开发教程V2.0(4)基础篇---MapView - ArcGIS_Mobile的专栏 - 博客频道 - CSDN.NET http://blog.csdn.net/arcgis_mobile/article/details/8147328 MapView是ArcGIS Runtime SDK forAndroid的核心组件,通过MapView可以呈现地图服务的数据,并且在MapView中定义了丰富的属性.方法和事件,用户通过Map