編輯:關於Android編程
public class MainActivity extends Activity {
private IAidlCall mIAidlCall;
private IBinder.DeathRecipient mDeathRecipient = new IBinder.DeathRecipient() {
@Override
public void binderDied() {
// TODO Auto-generated method stub
if (mIAidlCall == null)
return;
mIAidlCall.asBinder().unlinkToDeath(mDeathRecipient, 0);
mIAidlCall = null;
// TODO:重新綁定遠程服務
bindService(new Intent("demo.action.aidl.IAidlCall").
setPackage("com.example.severdemo"), conn, BIND_AUTO_CREATE);
}
};
private ServiceConnection conn = new ServiceConnection() {
@Override
public void onServiceDisconnected(ComponentName name) {
}
@Override
public void onServiceConnected(ComponentName name, IBinder service) {
mIAidlCall = IAidlCall.Stub.asInterface(service);
try {
service.linkToDeath(mDeathRecipient, 0);
Toast.makeText(getApplicationContext(), mIAidlCall.getName(),
Toast.LENGTH_LONG).show();
} catch (RemoteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// "demo.action.aidl.IAidlCall" 是遠程服務的action
bindService(new Intent("demo.action.aidl.IAidlCall")
.setPackage("com.example.severdemo"), conn, BIND_AUTO_CREATE);
}
}
Android Span 進階
?在上篇文章《Android Span 架構介紹》,我們講述了Android Span的基本概念和用法,這篇文章我們就來擴展一下我們對Android Span的了解,這一
Android 使用OpenCV的三種方式(Android Studio)
其實最早接觸OpenCV是很久很久之前的事了,大概在2013年的5,6月份,當時還是個菜逼(雖然現在也是個菜逼),在那一段時間,學了一段時間的android(並不算學,一
Android開發之assets目錄下資源使用總結
Android資源文件分類:Android資源文件大致可以分為兩種:第一種是res目錄下存放的可編譯的資源文件:這種資源文件系統會在R.java裡面自動生成該資源文件的I
Android4.4 Framework分析——Android默認Home應用Launcher3的加載過程分析
本文主要介紹Android4.4默認Home應用Launcher3的啟動過程和Launcher3的數據加載過程。Launcher的啟動是開機時,ActivityManag