原地址: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. Android报错:The content of the adapter has changed...与Channel is unrecoverably broken and will be disposed的分析与解决办法

    在Android中adapter错误: The content of the adapter has changed but ListView did not receive a notificati ...

  2. C#对象XML序列化

    1.Xml序列化操作类 .Net Framework提供了对应的System.Xml.Seriazliation.XmlSerializer负责把对象序列化到XML,和从XML中反序列化为对象. 以下 ...

  3. Unity编程回忆录之控制物体移动

    最新心血来潮,然后开始学习Unity3D游戏开发引擎,对于一个主流的跨平台3D游戏开发引擎,我已经深深的为他着迷了,于是果断的开始学习这个引擎,而且刚刚预装的游戏引擎最新版中4.3版本已经开始原生支持 ...

  4. css3选择器二

    在HTML中,通过各种各样的属性可以给元素增加很多附加的信息,了解和掌握css3一些的选择器,是很有必要的. :enabled 和 :disabled选择器表单元素有可用(“:enabled”)和不可 ...

  5. 在Linux上部署和操作Couchbase

    couchbase属于nosql系列,个人感觉它要比mongodb操作简单,mongo的查询语句太复杂.在数据的持久性方面它区别于其他nosql 的唯一大亮点是不受限于其内存分配了多少,只要磁盘空间够 ...

  6. linux计划任务运行php文件的方法分享

    在linux下,借助crontab,设置计划任务每天6点10分执行filename.php文件,写入一行时间到log日志中. 创建计划任务的脚本: dos2unix /path/to/filename ...

  7. 解决 windows2012 下无法安装 sql2008R2

    Press the Windows logo key, type control panel, and then click the Control Panel icon. Note If you a ...

  8. PAT乙级真题1006. 换个格式输出整数 (15)(解题)

    原题: 让我们用字母B来表示“百”.字母S表示“十”,用“12...n”来表示个位数字n(<10),换个格式来输出任一个不超过3位的正整数.例如234应该被输出为BBSSS1234,因为它有2个 ...

  9. 内置对象之Cookie

    if (!this.IsPostBack) { try { HttpCookie MyCookie = new HttpCookie("MyCookie"); MyCookie.V ...

  10. Entity Framework 学习笔记(一)安装

    1.通过 VS2013 下载,这个没有限制,因为我用的vs是2013 Entity Framework包