1,activityintent intent = new intent();
intent.setaction(intent.action_call);
intent.setdata(uri.parse("tel:18702531326"));
startactivity(intent);
打**的許可權uses-permission android:name="android.permission.call_phone"/
當前應用和手機本身的打**模組是兩個程序,通過設定action和傳遞資料給系統打**模組就可以將**號碼跨程序傳遞
2,broadcast receiver這個更好理解了,廣播分標準和有序,即非同步和同步,每個訂閱了廣播的接受者的能收到資料(沒有被攔截),但這個方式是被動的,它們無法互動,對於絕大多數的業務需求來說都需要請求網路資料並計算返回
3,content prodiver內容提供者,安卓四大元件之一,在應用a中新建乙個sharedpreferences並寫入資料設定許可權為context.mode_world_readable,這樣應用b通過a的包名和key就可以訪問這個資料,但是官方已不太建議使用這種方式,它不是程序安全的。
4,service程序通訊肯定有傳輸資料和接受並返還資料,先新建兩個專案,乙個為aidldemo1作為service,另乙個為aidldemo2作為clientaidl目前來說是多程序普遍運用的技術,那麼下面看一下通過aidl怎麼實現程序通訊
先把service專案切換到android模式下,然後再新建aidl資料夾
新建aidl資料夾
在aidl資料夾下新建包名
新建aidl檔案
切記字尾名 .aidl
aidl原始碼如下
編寫供client專案呼叫的service
把aidl匿名實現類賦值給ibinder
把service專案中的aidl檔案拷貝到client專案,切記包名和檔名必須一致,然後再同步專案
private imyaidlinte***ce imyaidlinte***ce;private serviceconnectionconn=newserviceconnection() {
@override
//當service繫結並連線成功後呼叫,此時的service引數是service專案返回的aidl實現
public void onserviceconnected(componentname name,ibinder service) {
imyaidlinte***ce= imyaidlinte***ce.stub.asinte***ce(service);
@override
//斷鏈時清空,節約記憶體
public void onservicedisconnected(componentname name) {
imyaidlinte***ce=null;
private void initservice() {呼叫aidlintent intent =new intent();
//第乙個引數是service專案中的myservice所屬包名,第二個為myservice的全路徑名稱
intent.setcomponent(newcomponentname("com.example.administrator.aidldemo1",
"com.example.administrator.aidldemo1.myservice"));
//安卓5.0以後不允許隱式啟動service
intent.setaction("aidl");
bindservice(intent,conn,context.bind_auto_create);
imyaidlinte***ce.getcount(num1,num2);最後別忘了解綁服務
@override在執行client專案時可能會報aidl方法無法找到的異常,此時只需要cliean project,然後同步一下,執行即可protected voidondestroy() {
super.ondestroy();
unbindservice(conn);
安卓跨程序繫結service
今天在學習aidl通訊的時候,使用的是兩個應用,乙個充當客戶端,乙個充當服務端,在使用客戶端繫結服務端的服務的時候一直繫結不成功。原來是使用的魅藍機型的問題。上 服務端androidmanifest.xml部分 沒啥說的 客戶端 示例1 魅藍和華為都可以繫結成功 private void binds...
安卓誇程序通訊
先簡單介紹點服務 博文裡有一些服務的介紹 這裡簡單說下 1.服務是執行在主線程中 2.前台服務使用只需要在建立時也就是oncreate中寫入一下 就可以了 notification nocation new notification r.drawable.ic launcher,karin的程式 s...
安卓USB通訊之許可權管理
這篇部落格是針對之前的一篇文章android開發之usb資料通訊作的補充。主要是在開發中發現了另外兩個不得不面對的問題 usb訪問許可權處理。usb裝置插拔狀態監聽。usb訪問許可權處理 當我們安卓手機第一次安裝我們usb相關功能的apk時,正常情況下,手機會彈出個類似於 xx應用訪問usb裝置 的...