在一個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);
相關文章
相關標籤/搜索