1
回答
Android 在一个应用中如何启动另外一个已安装的应用!!!
利用AWS快速构建适用于生产的无服务器应用程序,免费试用12个月>>>   

为了能让大家更加容易的理解,我写了一个简单的Demo,我们的程序有俩个按钮,其中一个点击会启动我自己写的应用(一个3D应用为例),而另外一个按钮会启动系统自带的应用(如,日历,闹钟,计算器等等).这里我一日历为例子!

首先看一下我们的效果图(点击第一个按钮为例):

 

下面是Demo的详细步骤:

一、新建一个Android工程命名为StartAnotherApplicationDemo.

二、修改main.xml布局,代码如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<TextView  
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="Welcome to Mr Wei's Blog."
    />
<Button
	android:id="@+id/button"
	android:layout_width="fill_parent" 
	android:layout_height="wrap_content" 
	android:text="Start Another Application"
/>
<Button
	android:id="@+id/start_calender"
	android:layout_width="fill_parent" 
	android:layout_height="wrap_content" 
	android:text="Start Calendar"
/>
</LinearLayout>

三、修改主程序StartAnotherApplicationDemo.java代码如下:

package com.android.tutor;
import android.app.Activity;
import android.content.ComponentName;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class StartAnotherApplicationDemo extends Activity {
   
	private Button mButton01,mButton02;
	
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        mButton01 = (Button)findViewById(R.id.button);
        mButton02 = (Button)findViewById(R.id.start_calender);
        
        //-----启动我们自身写的程序------------------
        mButton01.setOnClickListener(new Button.OnClickListener(){
			public void onClick(View v) {
				//-----核心部分----- 前名一个参数是应用程序的包名,后一个是这个应用程序的主Activity名
				Intent intent=new Intent();
				intent.setComponent(new ComponentName("com.droidnova.android.games.vortex", 
						                             "com.droidnova.android.games.vortex..Vortex"));
				startActivity(intent);
			}       	
        });
      //-----启动系统自带的应用程序------------------
        mButton02.setOnClickListener(new Button.OnClickListener(){
			public void onClick(View v) {
				Intent intent=new Intent();
				intent.setComponent(new ComponentName("com.android.calendar", "com.android.calendar.LaunchActivity"));
				startActivity(intent);
			}       	
        });
    }
}

四、执行之,将得到如上效果!

文章转自:http://blog.csdn.net/android_tutor/article/details/5596494

举报
华宰
发帖于6年前 1回/6K+阅
顶部