Android 在一个应用中如何启动另外一个已安装的应用!!!

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

 

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

 

[java]  view plain copy
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     android:orientation="vertical"  
  4.     android:layout_width="fill_parent"  
  5.     android:layout_height="fill_parent"  
  6.     >  
  7. <TextView    
  8.     android:layout_width="fill_parent"   
  9.     android:layout_height="wrap_content"   
  10.     android:text="Welcome to Mr Wei's Blog."  
  11.     />  
  12. <Button  
  13.     android:id="@+id/button"  
  14.     android:layout_width="fill_parent"   
  15.     android:layout_height="wrap_content"   
  16.     android:text="Start Another Application"  
  17. />  
  18. <Button  
  19.     android:id="@+id/start_calender"  
  20.     android:layout_width="fill_parent"   
  21.     android:layout_height="wrap_content"   
  22.     android:text="Start Calendar"  
  23. />  
  24. </LinearLayout>  

 

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

 

[java]  view plain copy
  1. package com.android.tutor;  
  2. import android.app.Activity;  
  3. import android.content.ComponentName;  
  4. import android.content.Intent;  
  5. import android.os.Bundle;  
  6. import android.view.View;  
  7. import android.widget.Button;  
  8. public class StartAnotherApplicationDemo extends Activity {  
  9.      
  10.     private Button mButton01,mButton02;  
  11.       
  12.     public void onCreate(Bundle savedInstanceState) {  
  13.         super.onCreate(savedInstanceState);  
  14.         setContentView(R.layout.main);  
  15.           
  16.         mButton01 = (Button)findViewById(R.id.button);  
  17.         mButton02 = (Button)findViewById(R.id.start_calender);  
  18.           
  19.         //-----启动我们自身写的程序------------------  
  20.         mButton01.setOnClickListener(new Button.OnClickListener(){  
  21.             public void onClick(View v) {  
  22.                 //-----核心部分----- 前名一个参数是应用程序的包名,后一个是这个应用程序的主Activity名  
  23.                 Intent intent=new Intent();  
  24.                 intent.setComponent(new ComponentName("com.droidnova.android.games.vortex",   
  25.                                                      "com.droidnova.android.games.vortex..Vortex"));  
  26.                 startActivity(intent);  
  27.             }             
  28.         });  
  29.       //-----启动系统自带的应用程序------------------  
  30.         mButton02.setOnClickListener(new Button.OnClickListener(){  
  31.             public void onClick(View v) {  
  32.                 Intent intent=new Intent();  
  33.                 intent.setComponent(new ComponentName("com.android.calendar""com.android.calendar.LaunchActivity"));  
  34.                 startActivity(intent);  
  35.             }             
  36.         });  
  37.     }  
  38. }  

 转摘自:http://blog.csdn.net/Android_Tutor/article/details/5596494

### 回答1: 是的,一个APK文件可以包含多个应用。这种情况通常是通过将多个不同的功能分别打包到单独的模块,然后在同一个APK文件打包这些模块,实现多个应用的打包。这样做可以节约下载和安装的时间,并使用户可以一次安装多个应用。 ### 回答2: 在Android,通常一个APK文件只能安装一个应用程序。这是因为APK文件包含了应用程序的所有资源和代码,包括主程序、库文件、资源文件等。然而,有一种特殊的情况可以在一个APK安装多个应用程序,那就是使用“Split APKs”(分离的APK)技术。 使用Split APKs技术可以将一个APK文件分割成多个独立的APK文件,每个文件对应一个应用程序。这样,用户只需下载一个APK文件并安装,就能同时安装多个应用程序。 在实现这个功能的过程,需要使用Android的动态模块加载技术。通过动态加载功能,可以在运行时加载和卸载分离的APK文件,并调用其应用程序。这些分离的APK文件可以通过远程服务器下载,也可以作为本地资源存储在设备上。 使用Split APKs技术的一个常见应用场景是游戏应用程序。在游戏,可能会通过分离APK技术将游戏的主体和扩展内容(例如新关卡、道具等)分开存储,以便实现动态更新和灵活扩展的目的。 总之,通过Split APKs技术,可以在一个APK文件安装多个应用程序。这种方式在某些特定的应用场景下非常有用,可以提供更好的用户体验和开发灵活性。 ### 回答3: 在Android系统一个APK文件通常只能安装一个应用程序。APK文件是Android应用程序的安装包,每个APK文件都会对应一个独立的应用程序。当用户在设备上点击APK文件进行安装时,系统会将APK文件解压并安装对应的应用程序,将应用程序的相关文件和数据存储在设备的特定目录。 然而,有一些特殊情况下可以在一个APK文件安装多个应用程序。例如,可以使用"多渠道打包"的技术来在一个APK文件打包多个应用程序。多渠道打包是一种将多个APK合并为一个APK的技术,不同的渠道可以安装不同的应用程序。这种方式通常用于应对市场分段、产品定制或者企业内部分发等需求。 另外,有些应用程序可能提供插件或者扩展机制,允许在应用程序安装额外的功能模块或者插件。这些插件或者扩展模块可以作为单独的APK文件进行安装,与主应用程序进行交互并提供额外的功能。但是这种方式与一个APK文件安装多个独立的应用程序并不相同,插件或者扩展模块仍然需要依赖主应用程序的运行环境,无法独立运行。 总而言之,通常情况下,一个APK文件只能安装一个应用程序。如果需要在一个APK文件安装多个应用程序,可以使用多渠道打包的技术。此外,还可以通过插件或者扩展机制来在应用程序安装额外的功能模块或者插件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值