原地址: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. 基于asp.net的Web开发架构探索

    问题由来 最近在研究适合团队开发的web架构解决方案,该架构即要适合分工协作又要有一定扩展性,适合不同的数据库需要,因此我查阅了一些资料,初步构想出了一套架构,请各位多多指教. 探索 web开发架构最 ...

  2. (转)持续化集成工具CruiseControl.NET

    持续化集成工具CC.NET[ 引言: 团队开发需要 进行集中的项目文件管理与有效的协调,我们采用源代码管理工具协助我们管理,卓有成效.限定重要文件的访问权限.使用悲观锁杜绝成员同时编辑同一份文件. 不 ...

  3. javascript笔记——jikeytang javascript前端群 389875212 精华总结

    网址: https://github.com/jsfront   //    http://www.kancloud.cn/jsfront/month/82796 内容: 前端js github总结, ...

  4. Ubuntu gedit 折叠插件

    Ubuntu Kylin 14.04 gedit  - Version 3.10.4 (as same as all version of gedit 3.x ) Attention: this pl ...

  5. 关联 Android 源代码 到 Ecplise

    1. 下载android 源码存于本地硬盘; 2. 打开Eclpise, 新建Android Project; 3. 在MainActivity文件中,按住Ctrl 点击Activity类 4. 弹出 ...

  6. mysql 主从同步 Last_SQL_Error

    参考文章: http://kerry.blog.51cto.com/172631/277414/ http://hancang2010.blog.163.com/blog/static/1824602 ...

  7. apache 设置禁止访问某些文件或目录

    [apache配置禁止访问]1. 禁止访问某些文件/目录增加Files选项来控制,比如要不允许访问 .inc 扩展名的文件,保护php类库:<Files ~ "\.inc$" ...

  8. border-radius导致overflow:hidden失效问题。

    如果一个父元素设置了overflow:hidden属于的同时还设置了border-radius属性,那么如果想隐藏超出的子元素,四个圆角处会出现超出圆角依然显示的bug: 一种方法是运用-webkit ...

  9. VS2010水晶报表的添加与使用

    最近在学习VS2010水晶报表,发现原先安装的VS2010旗舰版没有 Crystal Report Viewer 控件,网上搜索一下发现要安装一个插件----CRforVS_13_0, 于是下载安装: ...

  10. app配置智能硬件的解决方案

    随着越来越多的智能硬件产品上市,越来越多的硬件都戴上了智能的帽子,什么智能插座,智能音箱,智能称等等.凡是所谓的智能,都是通过wifi或者蓝牙来连接互联网,其中蓝牙也只能算是手机的附属品吧.主要还是硬 ...