個人總結兩個應用相互呼叫:
1.靜態廣播
2.動態廣播
3.startactiviy
4.startactiviyforresult(使用packagename)
5.startactivityforresult(使用action)
1.靜態廣播調起apk
第一步,在將要調起的apk 中androidmanifest.xml註冊靜態廣播
第二步,呼叫的apk中建立廣播接受的類
public class mystaticbroadcastreceiver extends broadcastreceiver
}
3.第三步,所在的apk中傳送靜態廣播
intent intent = new intent();
intent.setaction("com.example.mydemo.mystaticbroadcastreceiver");
intent.setcomponent( new componentname( "com.example.mydemo" ,"com.example.mydemo.mystaticbroadcastreceiver") );
intent.addflags(intent.flag_activity_new_task);
intent.addflags(intent. flag_include_stopped_packages);
sendbroadcast(intent);
由於動態廣播需要調起的apk需要在 後台執行著,不做展示了
使用startactivity方法調起apk
需要找到調起apk的包名,在使用startactivity即可
intent intent2 = new intent();
componentname componentname = new componentname("com.example.mydemo", "com.example.mydemo.mainactivity");
intent2.setcomponent(componentname);
startactivity(intent2);
4.使用startactivityforresult 方法(利用包名),調起apk,回傳資料
第一步,同startactivity一樣
intent intent3 = new intent();
componentname componentname3 = new componentname("com.example.mydemo", "com.example.mydemo.mainactivity");
intent3.setcomponent(componentname3);
intent3.putextra("bs","3");
startactivityforresult(intent3,0);
第二步,在調起的apk中接受並且回傳資料
intent intent0 =getintent();
string bs = intent0.getstringextra("bs");
intent intent = new intent();
intent.putextra("***","123");
setresult(1,intent);
finish();
第三步,接受回傳的資料
@override
protected void onactivityresult(int requestcode, int resultcode, intent data)
}
5.使用startactivityforresult 方法(利用action),調起apk,回傳資料
和使用包名相同,在不知道包名類名的情況下使用ation,被調起的apk需要新增 aciton
intent intent4 = new intent();
intent4.setaction("android.intent.action.demo");
intent4.putextra("bs","4");
startactivityforresult(intent4,2);
在被調起的apk中的androidmanifest.xml的acitivity下面新增aciton,其他的和利用包名的都一樣
兩個應用相互呼叫導致的session丟失問題
問題是這樣的,有兩個應用,這兩個應用有相互呼叫關係,而且是雙向呼叫,a會呼叫b,b也會呼叫a,且通過nginx對後台的兩個tomcat進行負載均衡,結果在訪問時就會不時的出現session丟失,f12檢視route不停的改變,提示重新登入的錯誤!如果後台是單機的tomcat,則不會有上述問題。經過不...
C 兩個類相互呼叫實現
兩個類a和b實現互相呼叫彼此的方法,如果採用彼此包含對方標頭檔案的方式會出現迴圈引用,所以採用了類的前置宣告的方式 1.class a採用前置宣告的方式宣告class b 2.在classb的標頭檔案中包含class a 的標頭檔案 3.在class a中只能宣告class b型別的指標或者引用 具...
兩個結構體之間的相互呼叫
指向結構體型別變數的使用 首先讓我們定義結構體 struct stu 再定義指向結構體型別變數的指標變數 struct stu p1,p2 定義指標變數p 1 p 2,分別指向結構體型別變數。引用形式為 指標變數 成員 例7 2 對指向結構體型別變數的正確使用。輸入乙個結構體型別變數的成員,並輸出。...