首页 > 代码库 > (转)从android一个apk中启动第三方apk应用

(转)从android一个apk中启动第三方apk应用

从android一个apk中启动第三方apk应用

 

         我们在开发中,经常遇到遇到在一个apk中要去运行另外一个apk,就像我们windows一样,搞一个快捷方式一样,那怎么实现呢?

        问题的核心点在于我们要拿到第三方apk的package名称跟class名称,这两个至关重要!比如笔者做测试用的qq apk,package名称是com.tencent.pad.qq,class名称是com.tencent.pad.qq.login.QQLoginActivity。从一个apk启动到另外一个apk,当然也是通过发送intent了。下面介绍一下几个简单步骤:

1、                  为了直观还是建立一个图标比较好。在android里有ImageButton控件可以使用。在XML里定义如下:

 

[html] view plaincopy
 
  1. <ImageButton android:id="@+id/StartQQ"  
  2.    android:layout_width="85dip"  
  3.    android:layout_height="54dip"  
  4.    android:layout_marginTop="20dip" />             

 

2、                  注册消息处理函数。也就是你点击该图标的时候,要做什么响应。注册代码如下:

 

[java] view plaincopy
 
  1.        private ImageButton  mStartQQButton;  
  2.   
  3.   
  4. mStartQQButton = (ImageButton) findViewById(R.id.StartQQ);  
  5. mStartQQButton.setOnClickListener(mStartQQListener);  

 

3、                  准备intent,发送intent。代码如下:

 

[java] view plaincopy
 
  1. private View.OnClickListener mStartQQListener = new View.OnClickListener() {  
  2.     public void onClick(View v) {  
  3.         if (localService == null) return;  
  4.         localService.reqMusicExit();  
  5.         
  6.         Intent mIntent = new Intent( );   
  7.         ComponentName comp = new ComponentName("com.tencent.pad.qq", "com.tencent.pad.qq.login.QQLoginActivity");  
  8.         mIntent.setComponent(comp);   
  9.         mIntent.setAction("android.intent.action.VIEW");   
  10.         startActivity(mIntent);  
  11.         finish();  
  12.     }  
  13. };  

     这只是一个实例,掌握了这种方法,我们就可以开发出类似windows快捷图标栏,就很可以随心所欲,开发出客户喜欢的产品。 笔者顺便提一句,这个做法一定要在有代码的apk应用中去定制,比如在launcher中,还是自己开发的apk中。

(转)从android一个apk中启动第三方apk应用