java 调用 sdk_java 反射调用支付SDK

本文介绍了在Android开发中如何使用Java反射技术调用移动支付SDK,避免资源未引入导致的崩溃问题。通过示例代码详细展示了从加载SO文件到调用支付接口的完整流程,并提供了回调接口的处理方式。
摘要由CSDN通过智能技术生成

在android开发中会遇到各种SDK的接入,很是麻烦。最初在想能不能把所有的SDK都 融合到一个当中,发现有点异想天开。但是也可以解决SDK资源不小心没有引入,导致程序调用接口崩溃问题。经过查资料,还是写了一个小Demo,仅供参 考!很早之前写的了,估计移动基地SDK,有变动,不过道理是一样的。

仅以移动基地SDK举例。

1.移动支付需要的SO文件导入

public class CarrotApplication extendsApplication {//是否含有移动支付SDK

boolean useCMBilling = false;

@Overridepublic voidonCreate() {//TODO Auto-generated method stub

try{

Class.forName("cn.cmgame.billing.api.GameInterface");

useCMBilling= true;

}catch(ClassNotFoundException ignored) {

}if(useCMBilling){

System.loadLibrary("megjb");

}

}

}

2.初始化移动基地支付

protected voidinit_cmcc(String app_name, String app_company,

String telphone_number) {try{

Object [] cmcc_init_obj={CarrotPaySDK.mContext,app_name,app_company,telphone_number};

Class> [] classparam = {Activity.class,String.class,String.class,String.class};

cfcaim.invokeStaticMethod("cn.cmgame.billing.api.GameInterface","initializeApp",cmcc_init_obj,classparam);

}catch(Exception e) {//TODO: handle exception

Log.e("init_cmcc异常捕捉", "异常:"+e.toString());

}

}

3.上面 invokeStaticMethod 的实现

/*** 执行某个类的静态方法

*@paramclassName 类名

*@param

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值