android中一个应用程序启动另外一个应用程序,并传递数据。

一、android一个应用程序启动了另外一个应用程序时候有2中方法。

  第一种是知道了调用的app的具体action,category(一般前两个值是默认的即下面方法里的)、包名和类名

 public void start(View v)
    {
    	Intent intent2 = new Intent("android.intent.action.MAIN");
		intent2.addCategory("android.intent.category.LAUNCHER");
		ComponentName cn = new ComponentName("com.example.secondapp", "com.example.secondapp.MainActivity");
		intent2.setComponent(cn);            intent2.putExtra("name","zp");
		this.startActivity(intent2);
    }

  第二种方式是只需知道应用程序的包名,这种方式用的较多

public void start2(View v)
    {
    	PackageManager p=this.getPackageManager();
		Intent in=p.getLaunchIntentForPackage("com.example.secondapp");
		if(in!=null)
		{
			in.putExtra("name","zp");
			this.startActivity(in);
		}
		else
		{
			Toast.makeText(this, "哟,赶紧下载安装这个APP吧", Toast.LENGTH_LONG).show();
		}
    }

  二、在启动第二个程序的时候,可以传递参数,即用intent里putextra()值,或者批量用bundle,比如传递时“某某启动了应用程序”参见http://www.2cto.com/kf/201409/332952.html

 可先intent.putExtra("name", "zp");再startActivity(intent)在启动的应用程序里采用如下代码:就可以获取数据了

public class MainActivity extends ActionBarActivity {

	private TextView ed;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ed=(TextView) findViewById(R.id.tx);
        Intent intent =getIntent();
        Bundle bundle = intent.getExtras();
        if (bundle != null) {
        	String name=(String) bundle.get("name");
        	ed.setText(name);
        }

    }

  

  

时间: 2024-12-18 04:07:07

android中一个应用程序启动另外一个应用程序,并传递数据。的相关文章

android intent隐式调用之一个应用程序启动另一个应用程序(转载)

理解Intent的关键之一是理解清楚Intent的两种基本用法:一种是显式的Intent,即在构造Intent对象时就指定接收者,这种方式与普通的函数调用类似:另一种是隐式的Intent,即Intent的发送者在构造Intent对象时,并不知道也不关心接收者是谁,这种方式与函数调用差别比较大,有利于降低发送者和接收者之间的耦合.另外Intent除了发送外,还可用于广播. 显示调用 1.Intent intent = new Intent(); intent.setClass(A.this,B.c

Android中使用画笔和画布绘制一个矩形

场景 在Android中画笔使用Paint类,画布使用Canvas类来表示. 绘图的基本步骤 首先编写一个继承自View的自定义View类,然后重写其onDraw方法,最后把自定义的view添加到actvity中. 效果 注: 博客: https://blog.csdn.net/badao_liumang_qizhi关注公众号 霸道的程序猿 获取编程相关电子书.教程推送与免费下载. 实现 首先在要显示的Activity的布局文件添加一个id. <?xml version="1.0"

Android中使用Canvas和Paint绘制一个安卓机器人

场景 在Android中画笔使用Paint类,画布使用Canvas类来表示. 绘图的基本步骤 首先编写一个继承自View的自定义View类,然后重写其onDraw方法,最后把自定义的view添加到actvity中. 效果 注: 博客: https://blog.csdn.net/badao_liumang_qizhi关注公众号 霸道的程序猿 获取编程相关电子书.教程推送与免费下载. 实现 首先在要显示的Activity的布局文件中修改为FrameLayout并添加一个id. <?xml vers

4) 十分钟学会android--建立第一个APP,启动另一个Activity

在完成上一课(建立简单的用户界面)后,我们已经拥有了显示一个activity(一个界面)的app(应用),该activity包含了一个文本字段和一个按钮.在这节课中,我们将添加一些新的代码到MyActivity中,当用户点击发送(Send)按钮时启动一个新的activity. 响应Send(发送)按钮 1 在Android Studio中打开res/layout目录下的content_my.xml 文件. 2 为 Button 标签添加android:onclick属性. res/layout/

Android中Service通信(一)——启动Service并传递数据

启动Service并传递数据的小实例(通过外界与服务进行通信): 1.activity_main.xml: <EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:text="默认信息" android:id="@+id/etData"/> <Button android:text=&

android中按back键返回上一个activity,如何重新调用上一个activity的oncreate方法?

默认情况下是不会调用的. @Override public void onBackPressed() { String titleStr = edittitle.getText().toString(); String contentStr = editcontent.getText().toString(); if (title.equals(titleStr) && content.equals(contentStr)) { super.onBackPressed(); } else

Android中ExpandableListView,每次只展示一个分组

// 只允许打开一个分组 expandListView.setOnGroupExpandListener(new OnGroupExpandListener() { @Override public void onGroupExpand(int groupPosition) { for (int i = 0, count = expandTreeViewAdapter.getGroupCount(); i < count; i++) { if (i != groupPosition) { exp

Android中Activity的四大启动模式实验简述

作为Android四大组件之一,Activity可以说是最基本也是最常见的组件,它提供了一个显示界面,从而实现与用户的交互,作为初学者,必须熟练掌握.今天我们就来通过实验演示,来帮助大家理解Activity的四大启动模式. 演示效果如下: 第一步:实验前准备,相关配置文件以及Activity的建立 (1)AndroidMainfest.xml配置文件 1 <?xml version="1.0" encoding="utf-8"?> 2 <manif

Android中判断app何时启动和关闭的技术研究

存在的问题 Android开发中不可避免的会遇到需要检查app何时进入前台,何时被用户关闭.奇怪的是,要达到这个目的并不容易.检查app第一次启动并不难,但要判断它何时重新打开和关闭就没有那么简单了. 这篇文章将介绍一种判断app打开,重新打开和关闭的技术. 让我们开始吧 判断一个app打开和关闭的关键在于判断它的activities是否正在前台显示.让我们先从简单的例子开始,一个只有一个activity的app,而且不支持水平模式.这样想要判断app是打开还是关闭只需要检查activity的o