在一个apk中调用另外一个apk中的activity

一、生成一个要被调用的APK。在其Manifest.xml设置中,与一般的写法大致相同,唯一区别的地方在于,如下:

<activity
        android:name="com.example.test.TestActivity"
        android:label="@string/app_name" >

    <!--<intent-filter>
             <action android:name="android.intent.action.MAIN" />

             <category android:name="android.intent.category.LAUNCHER" />
         </intent-filter> 
    -->
         <intent-filter >
              <action android:name="testApp"/>
              <category android:name="android.intent.category.DEFAULT"/>
         </intent-filter>
</activity>

二、安装这个要被调用的APK。

        安装完毕之后,你会发现,系统中找不到这个程序。别急,它确实安装在手机里面了,但是因为他不是main的,所以系统不会把他当做Application的入口程序。而要想打开这个activity,只有知道它名字的人才可以。跟系统的intent一样使用。它的名字定义为"testApp",所以,这里用这个字符串就可以调用它了:

三、在另一个项目中调用上述APK。代码如下:

Intent intent = new Intent("testApp");
startActivity(intent);

四、启动另外一个apk

Intent mIntent = new Intent( );   
ComponentName comp = new ComponentName(packageName, activityName);  
mIntent.setComponent(comp);   
mIntent.setAction("android.intent.action.VIEW");   
startActivity(mIntent);


你可能感兴趣的:(调用另外一个apk)