在當前activity中啟動自己另一個程序的activity

現在有個需求,需要在現有的app中調用另一個app,並且傳入相應的參數

查瞭一下,還是蠻方便的

假設現有的app::com.sqlhelp.app2

需用啟動的app為:com.sqlhelp.app1

具體步驟如下:

1.修改app2的AndroidManifest.xml的配置,在原來啟動的activity中增加一個<intent-filter>,如下圖標識的

[html]
<application android:icon="@drawable/icon" android:label="@string/app_name">   
    <activity android:name=".appMain"   
              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="com.sqlhelp.app2.appMain" />   
            <category android:name="android.intent.category.DEFAULT" />   
        </intent-filter>  
    </activity>   
</application> 

2.修改app1的AndroidManifest.xml的配置,增加一個新的activity

[html]
<activity android:name="com.sqlhelp.app2.appMain" 
          android:label="@string/app_name"> 
</activity> 

3.在app2中調用app1的啟動intent,通過Bundle傳遞參數

[java]
Intent testIntent = new Intent("com.sqlhelp.app2.appMain"); 
Bundle m_bundle = new Bundle(); 
m_bundle.putBoolean("Show",true); 
testIntent.putExtras(m_bundle); 
startActivity(testIntent); 

4.在app1中接受參數,做相應的操作
[java]
Bundle m_Bundle = this.getIntent().getExtras(); 
boolean m_Show = m_Bundle.getBoolean("Show"); 
…. 

摘自 sql_help的專欄

發佈留言