原地址:http://blog.csdn.net/simdanfeg/article/details/9011977

注意事项:
1.电信要求必须先启动电信的闪屏界面
2.非网络游戏不允许有Interent权限
3.电信没有提供测试计费点(小于一元的),文中index1是一个真实计费点(2元),支付会进行真实计费
 

MainActivity.java

  1. 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支付接入(三):电信爱游戏支付的更多相关文章

  1. 微信支付之扫码、APP、小程序支付接入详解

    做电商平台的小伙伴都知道,支付服务是必不可少的一部分,今天我们开始就说说支付服务的接入及实现.目前在国内,几乎90%中小公司的支付系统都离不开微信支付和支付宝支付.那么大家要思考了,为什么微信支付和支 ...

  2. Android 支付宝接入时常见的问题

    1.概述 首先说明下,Android支付宝接入用的是快捷支付,下载地址是https://b.alipay.com/order/techService.htm    支付宝移动接入地址https://b ...

  3. Android支付接入(二):移动游戏基地

    原地址:http://blog.csdn.net/simdanfeg/article/details/9011863 上篇博文跟大家一起走了一遍支付宝支付,今天我们来看看移动支付.众所周知目前付费通道 ...

  4. 亲历H5移动端游戏微信支付接入及那些坑(三)——支付接入

    终于到接入支付了,小小的一个微信支付,居然也写了3篇,好长,好累. 接入环境 对接入环境,前端的话,应该是以js为主吧,也有可能是,PHP,Java,C++,或者C#都可以.为什么在此特意提一下接入环 ...

  5. Android支付接入(四):联通VAC计费

    原地址:http://blog.csdn.net/simdanfeg/article/details/9012031 注意事项: 1.联通支付是不需要自己标识软硬计费点的,当平台申请计费点的时候会提交 ...

  6. Android支付接入(七):Google In-app-Billing

    前段时间有事请耽搁了,今天跟大家一起看下Google的in-app Billing V3支付.    如果没有Google Play此处附上安装Google Play的一键安装器的链接(需要Root权 ...

  7. Android支付接入(7):Google In-app-Billing

    今天跟大家一起看下Google的in-app Billing V3支付.    如果没有GooglePlay此处附上安装Google Play的一键安装器的链接(需要Root权限):http://ww ...

  8. Android支付接入(五):机锋网

    原地址:http://blog.csdn.net/simdanfeg/article/details/9012083 前边已经陆续跟大家走了一遍运营商和支付宝付费接入,今天跟大家一起看看机锋网的支付接 ...

  9. Android支付接入之Google In-app-Billing

    原文链接:http://www.mobile-open.com/2016/966337.html 因为公司需要接入Google的应用内支付(即Google的in-app Billing V3),接入过 ...

随机推荐

  1. 一个关于如何创建类似于QQ客户端聊天窗口的模拟小项目

    对于不久之前学习到的一个有关的类似于QQ聊天框的模拟项目,对其中涉及到的知识在这里做一下总结. 首先,你要先创建一个客户端聊天框(取名为:ChatClient,它是你创建的类),这个类继承了Frame ...

  2. 通过读取配置文件App.config来获取数据库连接字符串

    有两种方式://通过读取配置文件来获取连接字符串 第一种方式: App.config 文件的格式: <?xml version="1.0" encoding="ut ...

  3. mysql定时脚本(event),类似oracle的job

    mysql定时脚本(event),类似oracle的job   我有2张表:tb_push_data 和 tb_push_data_log 现在需要每隔一段时间将tb_push_data 符合条件的 ...

  4. C++函数模板本质-学习入门

    template<typename T> void mySwap(T &a, T &b) { T c; c = a; a = b; b = c; } int main() ...

  5. blazeds使用remote访问

     欢迎交流转载,请注明出处:http://www.cnblogs.com/shizhongtao/p/3487128.html 1.配置及说明 jar包说明 从官方上下的Blazeds中,默认的配置有 ...

  6. ArcSDE for oracle10g安装后post的时候出现错误

    The Post Installation Setup can not locate required Oracle files in your path.Check your Oracle inst ...

  7. Excel 数据分析技巧

    分享一个小技巧,Excel中,统计数据后,根据数据点之间的趋势,描绘出大致的曲线图,并且得到对于的公式. 1. 给出示例数据 2. 插入->散点图,右键点,选择添加趋势线,可以根据点数的走向,来 ...

  8. apache、php隐藏头信息的方法

    本文介绍下,在apache与php中隐藏头部信息的方法,有需要的朋友参考下. 一.apache隐藏头部信息 apache 的 httpd.conf 有两个配置可以控制是否显示服务器信息给用户.Serv ...

  9. jQuery回车事件

    有网就是好. 全局事件: document.onkeydown=function(e){ var ev=document.all?window.evevt:e; if(ev.keyCode==13){ ...

  10. Canvas开发笔记(不断更新)

    1.可以使用requestAnimationFrame函数代替setInterval.需要处理浏览器兼容问题: var w = window; requestAnimationFrame = w.re ...