APP使用支付宝业务

来源:互联网 发布:旅行结婚一般花费知乎 编辑:程序博客网 时间:2024/05/17 01:55
注意事项:记得配置清单文件,不然支付给谁都不知道
<serviceandroid:name="com.example.aliplay.payService">
           <intent-filter>
               <actionandroid:name="com.mubai.zhifu"/>
           </intent-filter>
       </service>
注意:payInterface.aidl是没有public的,因为他全体默认public 



首先是支付方面payservicer.java
publicclasspayServiceextendsService {

     @Override
     publicIBinder onBind(Intent intent) {
          //TODOAuto-generated method stub
          returnnewPayyouxi();
     }
   
     //中间人对象
     classPayyouxiextendsStub{

          @Override
          publicvoidpay()throwsRemoteException {
              // 调用服务的pay方法
              payService.this.pay();
              
          }
          
     }
     
     
     publicvoidpay(){
          System.out.println("检测运行环境");
          System.out.println("加密用户名密码");
          System.out.println("建立数据");
          System.out.println("上传数据");
          System.out.println("支付完成");
     }
}
----------------------------------------
payInterface.aidl
package com.example.aliplay;

interface PayInterface {
       void pay();
}
这个是抽象出来的接口,改了后缀名复制给我们需要使用的项目
-------------------------------
我们需要使用的项目:注意,复制过来的AIDL文件要给他一个相同与复制来文件的包名,否则APP无法识别
publicclassMainActivityextendsActivity {
   
     PayInterfacepi;
   @Override
   protectedvoidonCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Intent intent =newIntent();
        intent.setAction("com.mubai.zhifu");
        bindService(intent,newServiceConnection() {
              
              @Override
              publicvoidonServiceDisconnected(ComponentName name) {
                   //TODOAuto-generated method stub
                   
              }
              
              @Override
              publicvoidonServiceConnected(ComponentName name, IBinder service) {
                   //TODOAuto-generated method stub
                   //使用aidl中自动生成的方法来强转
                   pi= Stub. asInterface(service);
              }
          },BIND_AUTO_CREATE);
    }
  
   
   
   publicvoidclick(View v){
     //调用远程服务支付方法
     
     try{
              pi.pay();
          }catch(RemoteException e) {
              //TODOAuto-generated catch block
              e.printStackTrace();
          }
     
    }
   
}

0 0
原创粉丝点击