aidl的應用場景


支付寶

package com.tesy.alipay;

import com.test.alipay.Iservice.Stub;

import android.app.Service;
import android.content.Intent;
import android.os.Binder;
import android.os.IBinder;

public class PayService extends Service {

    //[2]我們定義的中間人對象返回
    @Override
    public IBinder onBind(Intent intent) {
        return new MyBinder();
    }
    
    
    //支付寶支付的方法
    public boolean pay(String name,String pwd,int money){
            System.out.println("1驗證用戶名和密碼 ");
            System.out.println("2驗證手機是否攜帶病毒");
            System.out.println("3調用C語言 做一些加密處理 ");
            
            if ("abc".equals(name)&& "123".equals(pwd)&& money <5000) {
                
                return true;
            }else {
                return false;
                
            }
            
        
    }
    
    
    //定義中間人對象 
    private class MyBinder extends Stub{

        //調用支付的方法
        @Override
        public boolean callPay(String name, String pwd, int money) {
            
            return pay(name, pwd, money);
            
        }
        
    }
    

}

 

       <service android:name="com.itheima.alipay.PayService">
            <intent-filter >
                <action android:name="com.itheima.alipay"/>
            </intent-filter>
       </service>    

 

歡樂斗地主買豆

package com.test.ddz;

import com.test.alipay.Iservice;
import com.test.alipay.Iservice.Stub;

import android.os.Bundle;
import android.os.IBinder;
import android.os.RemoteException;
import android.app.Activity;
import android.content.ComponentName;
import android.content.Intent;
import android.content.ServiceConnection;
import android.view.Menu;
import android.view.View;
import android.widget.Toast;

public class MainActivity extends Activity {

    private Myconn conn;
    private Iservice iservice; //我們定義的中間人對象
 

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        //[1]調用bindService 獲取我們定義的中間人對象 
        Intent intent = new Intent();
        intent.setAction("com.itheima.alipay");
        
        conn = new Myconn();
        //[2]綁定服務
        bindService(intent, conn, BIND_AUTO_CREATE);
        
        
        
    }

    //點擊按鈕 買豆 
    public void click(View v) {
        
        try {
            boolean result = iservice.callPay("abcdd", "123", 100);
            
            if (result) {
                //支付成功 
                Toast.makeText(getApplicationContext(), "買豆成功", 1).show();
            }else {
                
                Toast.makeText(getApplicationContext(), "買豆失敗", 1).show();
            }
            
        } catch (RemoteException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
    

    private class Myconn implements ServiceConnection{

    
        @Override
        public void onServiceConnected(ComponentName name, IBinder service) {
        // 獲取中間人對象 
            
        iservice = Stub.asInterface(service);
        }

        @Override
        public void onServiceDisconnected(ComponentName name) {
            
        }
        
    }
    
    @Override
    protected void onDestroy() {
        //當Activity銷毀的時候 解綁服務 
        unbindService(conn);
        super.onDestroy();
    }
    
    
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM