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

1、生成一个要被调用的APK。在其Manifest.xml设置中,与通常的写法大体相同,惟一区别的地方在于,以下:java

<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>

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

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

3、在另外一个项目中调用上述APK。代码以下:code

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

4、启动另一个apkxml

Intent mIntent = new Intent( );   
ComponentName comp = new ComponentName(packageName, activityName);  
mIntent.setComponent(comp);   
mIntent.setAction("android.intent.action.VIEW");   
startActivity(mIntent);
相关文章
相关标签/搜索