原地址:http://blog.csdn.net/simdanfeg/article/details/9011977
MainActivity.java
package com.example.blogfordx; import android.net.Uri;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.View; public class MainActivity extends Activity { @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
findViewById(R.id.button1).setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Fiap fiap = new Fiap(MainActivity.this);
fiap.android_Pay(1);
}
});
findViewById(R.id.button2).setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
// 更多游戏接口
Uri uri = Uri
.parse("http://wapgame.189.cn/c/index.html");
Intent in = new Intent(Intent.ACTION_VIEW, uri);
MainActivity.this.startActivity(in);
}
});
} } EgameSplash.java: [java] view plaincopy package com.example.blogfordx; import android.app.Activity;
import android.content.Intent;
import android.os.Bundle; public class EgameSplash extends Activity {
private int count = 0; @Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.splash);
new Thread(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
while (count <= 2) {
count++;
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
Intent intent = new Intent(EgameSplash.this, MainActivity.class);
startActivity(intent);
EgameSplash.this.finish();
}
}).start();
}
} Fiap.java [java] view plaincopy package com.example.blogfordx; import cn.game189.sms.SMS;
import cn.game189.sms.SMSListener;
import android.app.Activity;
import android.os.Handler;
import android.util.Log;
import android.widget.Toast; public class Fiap {
private Activity mActivity;
// 是否允许重复计费
private boolean isRepeat;
// 计费点短代码
private String charge_Point;
// 道具名称
private String itemID = "";
// 支付金额
private int coin = 0; public Fiap(Activity activity) {
mActivity = activity;
} // index是三种计费点对应的标识
// 此处只有购买200兑换币是可支付的,正式使用时请填写自己的申请的计费点短代码
public void android_Pay(int index) {
switch (index) { case 0:
// 激活游戏
isRepeat = false;
// 此处计费点填写电信平台申请的计费点的后三位作为计费点索引
charge_Point = "000";
itemID = "激活游戏";
coin = 4;
break;
case 1:
isRepeat = true;
charge_Point = "0211C001271102517996991102517990080115127000000000000000000000000000";
itemID = "购买200兑换币";
coin = 2;
break;
case 2:
isRepeat = true;
charge_Point = "002";
itemID = "购买400兑换币";
coin = 3;
break; default:
break;
}
fiapHandler.sendEmptyMessage(1);
} Handler fiapHandler = new Handler() {
public void handleMessage(android.os.Message msg) {
if (msg.what == 1) {
if (SMS.checkFee(itemID, mActivity, new SMSListener() { public void smsOK(String feeName) {
// 短代发送成功,此处填写支付成功后的逻辑
Log.i("SMSListener", "模式" + feeName + "已计费完成,关卡已打开.");
Toast.makeText(mActivity, "支付成功", Toast.LENGTH_LONG)
.show();
} public void smsFail(String feeName, int errorCode) {
// 短代发送失败,不给道具或不放行关卡
Log.e("SMSListener", "计费失败!模式:[" + feeName + "] 错误码:"
+ errorCode);
} public void smsCancel(String feeName, int errorCode) {
Log.e("SMSListener", "用户点击取消!计费点:" + feeName + " 错误码:"
+ errorCode);
}
}, charge_Point, itemID + ",点击确定将会发送一条" + coin + "元短信,不含信息费.",
"短信已成功发送", isRepeat)) {
// 已计过费 }
}
};
}; }
电信的计费sdk接入完成
Android支付接入(三):电信爱游戏支付的更多相关文章
-
微信支付之扫码、APP、小程序支付接入详解
做电商平台的小伙伴都知道,支付服务是必不可少的一部分,今天我们开始就说说支付服务的接入及实现.目前在国内,几乎90%中小公司的支付系统都离不开微信支付和支付宝支付.那么大家要思考了,为什么微信支付和支 ...
-
Android 支付宝接入时常见的问题
1.概述 首先说明下,Android支付宝接入用的是快捷支付,下载地址是https://b.alipay.com/order/techService.htm 支付宝移动接入地址https://b ...
-
Android支付接入(二):移动游戏基地
原地址:http://blog.csdn.net/simdanfeg/article/details/9011863 上篇博文跟大家一起走了一遍支付宝支付,今天我们来看看移动支付.众所周知目前付费通道 ...
-
亲历H5移动端游戏微信支付接入及那些坑(三)——支付接入
终于到接入支付了,小小的一个微信支付,居然也写了3篇,好长,好累. 接入环境 对接入环境,前端的话,应该是以js为主吧,也有可能是,PHP,Java,C++,或者C#都可以.为什么在此特意提一下接入环 ...
-
Android支付接入(四):联通VAC计费
原地址:http://blog.csdn.net/simdanfeg/article/details/9012031 注意事项: 1.联通支付是不需要自己标识软硬计费点的,当平台申请计费点的时候会提交 ...
-
Android支付接入(七):Google In-app-Billing
前段时间有事请耽搁了,今天跟大家一起看下Google的in-app Billing V3支付. 如果没有Google Play此处附上安装Google Play的一键安装器的链接(需要Root权 ...
-
Android支付接入(7):Google In-app-Billing
今天跟大家一起看下Google的in-app Billing V3支付. 如果没有GooglePlay此处附上安装Google Play的一键安装器的链接(需要Root权限):http://ww ...
-
Android支付接入(五):机锋网
原地址:http://blog.csdn.net/simdanfeg/article/details/9012083 前边已经陆续跟大家走了一遍运营商和支付宝付费接入,今天跟大家一起看看机锋网的支付接 ...
-
Android支付接入之Google In-app-Billing
原文链接:http://www.mobile-open.com/2016/966337.html 因为公司需要接入Google的应用内支付(即Google的in-app Billing V3),接入过 ...
随机推荐
-
Android近场通信---高级NFC(二)
读写NFC标签 读写NFC标签,要涉及到从Intent对象中获取标签,并要打开与标签的通信.要读写NFC标签数据,你必须要定义自己的协议栈.但是,要记住在直接使用NFC标签工作时,你依然能够读写NDE ...
-
pushd
# MAN 手册原文: pushd [-n] [+n] [-n] pushd [-n] [dir] Adds a directory to ...
-
牛客_剑指offer_重建二叉树,再后续遍历_递归思想_分两端
总结: 重建二叉树:其实就是根据前序和中序重建得到二叉树,得到后续,只要输出那边设置输出顺序即可 [编程题]重建二叉树 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树.假设输入的 ...
-
那些年被我坑过的Python——邂逅与初识(第一章)
第一问:为什么学习Python? 虚妖说:为了还债,还技术债,很早接触编程,却一直徘徊,也码了很多代码,却从未真真学会编程! 第二问:什么是Python 是一种以简洁.优雅著称的解释型.动态.强类型的 ...
-
Django框架初识
一.安装: pip3 install django 注意pip加入环境变量,安装好以后记得把Django加入环境变量 安装完成后,会在python目录下多了两个文件:1个django文件,1个 ...
-
new 和 newInstance 的区别
初始化一个类,生成一个实例的时候:newInstance() 和 new 有什么区别? 用newInstance与用new是区别的,区别在于创建对象的方式不一样,前者是使用类加载机制,那么为什么会有两 ...
-
Virtualbox扩容C盘
oracle vm virtualbox虚拟机里面系统盘C盘容量不够,需要扩容,步骤如下: 1.使用命令更改当前虚拟机的文件大小 VBoxManage.exe modifyhd YOUR_HARD_D ...
-
基于WebGL架构的3D可视化平台—新风系统演示
新风系统是根据在密闭的室内一侧用专用设备向室内送新风,再从另一侧由专用设备向室外排出,在室内会形成“新风流动场”,从而满足室内新风换气的需要.实施方案是:采用高风压.大流量风机.依靠机械强力由一侧向室 ...
-
zookeeperCli和Java操作zookeeperAPI
推荐一个zookeeper可视化工具:zktools.exe eclipse集成的工具: http://www.massedynamic.org/eclipse/updates/ 1.zkCli客户端 ...
-
【PostgreSQL】资料索引(来源:德哥)
PostgreSQL 多应用场景实践 - 沙箱实验 https://github.com/digoal/blog/blob/master/201805/20180524_02.md 一.GIS < ...