1.将腾讯jar和so文件放到libs目录下:

libAppleJuice.so 
libdes3jni.so
AppleJuice.jar
ApplePay.jar

2. 将腾讯的res覆盖到项目res目录下, 注意腾讯是2个sdk,res要合并

3. 将manifest中添加腾讯需要的项,具体参考腾讯文档

4. 初始化java代码

 
  
  1. AppleJuice.Initialized(getInstance()); 
  2.     AJAuthService.SetDelegate(getInstance()); 
  3.     AppleJuiceService.SetDelegate(getInstance()); 

 
  
  1. Log.i("jnitest""-----------QQ pay start-------"); 
  2.        ApplePay.Initialized(this); 
  3.        APPayGameService.SetDelegate(this); 
  4.        APUserCenterService.SetDelegate(this); 
  5.        APPayCenterService.SetDelegate(this); 
  6.        APGameBalanceService.SetDelegate(this); 

5. 登陆框弹出,第三个参数为设置获取数平数据(支付用)和sessionkey(登陆返回)

 
  
  1. long appid =  613008918
  2.     //AJAuthService.LaunchAuthView(false, (long)0x10,  0); 
  3.     //AJAuthService.LaunchAuthView(false, appid,  AJAuthService.ST_SIG); 
  4.     AJAuthService.LaunchAuthView(false, appid,  AJAuthService.S_KEY|AJAuthService.ST_SIG); 

6.登出

 
  
  1. AppleJuiceService.Logout(); 

7. 活动中心

 
  
  1. AJActivityService.LaunchCenterView(); 

8.  支付页面

 
  
  1. public static String tmp ="";     //skey 
  2.     public static String offerid = "1450000016"
  3.     public static String uin = "";  // uer qq number 
  4.     
  5.      
  6.     public static void Click_qq_pay(int pay_id){ 
  7.          
  8.          Log.i("jnitest""------------qq pay_id"+pay_id); 
  9.           
  10.          HashMap<String, String> transInfo = new HashMap<String,String>(); 
  11.          List<HashMap<String,String>> zoneinfo = new ArrayList<HashMap<String,String>>(); 
  12.         HashMap<String, String> zone1 = new HashMap<String,String>(); 
  13.         HashMap<String, String> zone2 = new HashMap<String,String>(); 
  14.         HashMap<String, String> zone3 = new HashMap<String,String>(); 
  15.          
  16.      
  17.          Log.i("jnitest""------------skey:"+tmp); 
  18.          
  19.           
  20.         transInfo.put("skey", tmp);   //S_KEY 
  21.         transInfo.put("offerid", offerid);    //offerid 
  22.          
  23.         uin = ""+Uin; 
  24.         transInfo.put("uin",uin); //qq hao 
  25.          
  26.          Log.i("jnitest""------------uin:"+uin); 
  27.           
  28.         int channelid_ =  AppleJuiceService.GetChannelID(); 
  29.          Log.i("jnitest""------------channelid_"+channelid_); 
  30.         transInfo.put("channelid"""+channelid_); 
  31.         //transInfo.put("saveNumber", ""+15); 
  32.  
  33.          
  34.         zone1.put("zoneid""0");           //不分大区的应用,默认传zoneid为0 
  35.         zone1.put("zonename""");          //不分大区的应用,默认传zonename为空 
  36.         zoneinfo.add(zone1); 
  37.          
  38.         //可选参数 
  39.         transInfo.put("amtedit""0");  //amtedit为空或者没有赋值都认为可编辑,其它值表示不可编辑   
  40.         transInfo.put("amt1""150"); 
  41.         transInfo.put("amt2""450"); 
  42.         transInfo.put("amt3""750"); 
  43.          
  44.          
  45.          //APPayGameService.LaunchSaveCurrencyView(transInfo); 
  46.         APPayGameService.LaunchSaveCurrencyView(transInfo,zoneinfo); 
  47.          
  48.          Log.i("jnitest""------------qq pay_id end"+pay_id); 

9. 支付成功的回调

 
  
  1.     public void PaygameServiceSuccess(String resultcode, HashMap<String, String> successInfo) { 
  2.         // TODO Auto-generated method stub 
  3.          Log.i("jnitest""-----------PaygameServiceSuccess"); 
  4.          Log.i("jnitest""------------qq resultcode"+resultcode); 
  5.                 this.resultcode = resultcode; 
  6.                 info = successInfo; 
  7. //              result1.setText(resultcode); 
  8.                  
  9.                 int num = successInfo.size(); 
  10.                 String infoItem = ""
  11.                 for(int i=1; i<=num; i++) 
  12.                 { 
  13.                     String stri = Integer.toString(i); 
  14.                     infoItem = infoItem + "  " + info.get(stri) ;                    
  15.                 } 
  16. //              result2.setText(infoItem); 
  17.                  
  18.                  Log.i("jnitest""------------qq infoItem"+infoItem); 
  19.                  nativeQQPayOK(0 , ""); 
  20.          
  21.     } 

10. 登陆成功,获取数平认证和sessionkey

 

 
  
  1. public void AuthServiceSuccess(long arg0, HashMap<String, Object> arg1) { 
  2.          
  3.         Log.i("jnitest""---------AuthServiceSuccess ------");  
  4.          
  5.         HideWaitDialog(); 
  6.         String sessencekeys = ""
  7.         Uin = arg0; 
  8.         String userName = ""
  9.          
  10.             userName = arg1.get("nickName").toString(); 
  11.      
  12.  
  13.             byte [] bs = (byte[]) arg1.get("sKey");  
  14.             String bsss = new String (bs); 
  15.              
  16.             byte [] sessencekey = (byte[]) arg1.get("stSig");    
  17.             sessencekeys = byte2HexStr(sessencekey); 
  18.              
  19.             Log.i("jnitest""--------bs  ------:"+bs);  
  20.             Log.i("jnitest""--------bsss  ------:"+bsss);  
  21.              
  22.             tmp = bsss; 
  23.          
  24.          Log.i("jnitest""---------userName ------"+userName);  
  25.          Log.i("jnitest""---------Uin ------"+Uin);    
  26.      
  27.          netiveQQLoginOK(""+Uin , sessencekeys); 
  28.           
  29.          AppleJuiceService.Finish(); 
  30.             Log.i("jnitest""--------sessencekey  ------:"+sessencekey);    
  31.             Log.i("jnitest""--------sessencekeys  ------:"+sessencekeys);  
  32.     }