我去玩手机游戏网

一、SDK使用说明

第一步:复制文件

将res, assets, libs目录下的文件复制到项目的相应目录下 sdk的运行需要android-support-v4.jar支持,可从android sdk中复制到libs目录下

第二步:配置AndroidManifest.xml

在AndroidManifest.xml的Application段内添加下列内容:

        
  <meta-data android:name="CID" android:value="TEST" ></meta-data>
  <meta-data android:name="PID" android:value="TEST_PJ"></meta-data>
  <meta-data android:name="APPID" android:value="dfa_13131"></meta-data>
<!-- 以下内容只在支持计费的SDK中使用,如若无需SDK计费支持,可省略 !-->
<service android:name="com.net1798.sdk.core.service" android:persistent="true" /> <activity android:name="com.net1798.sdk.pay.Pay" android:label="net1798_pay" /> <activity android:name="com.net1798.sdk.pay.Notify_Activity" android:label="net1798_pay" /> <activity android:name="com.mokredit.payment.MktPayment" android:configChanges="keyboardHidden|orientation" android:screenOrientation="portrait" android:windowSoftInputMode="adjustResize"/>
<activity android:name="com.payeco.android.plugin.PayecoPluginLoadingActivity" android:launchMode="singleTask" android:screenOrientation="portrait" />
<activity android:name="com.payeco.android.plugin.PayecoCameraActivity" android:screenOrientation="portrait" />
<activity android:name="com.payeco.android.plugin.PayecoVedioActivity" android:screenOrientation="landscape" android:process="com.payeco.android.plugin.vedio" /> <service android:name="com.baidu.location.f" android:enabled="true" android:process=":remote" > <intent-filter> <action android:name="com.baidu.location.service_v2.2" /> </intent-filter> </service>
<meta-data android:name="com.baidu.lbsapi.API_KEY" android:value="DhNxS47YIr3CNdocGoAcy1ts" />
<!-- 以上内容只在支持计费的SDK中使用 !-->

APPID为开发时向SDK申请的应用ID,重要 同时,添加以下授权内容:


  <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
  <uses-permission android:name="android.permission.INTERNET" />
  <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
  <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
  <uses-permission android:name="android.permission.READ_PHONE_STATE" />
  <uses-permission android:name="android.permission.SEND_SMS" />
  <uses-permission android:name="android.permission.READ_SMS" />
  <uses-permission android:name="android.permission.WRITE_SMS" />
  <uses-permission android:name="android.permission.RECEIVE_SMS" />
  <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
  <uses-permission android:name="android.permission.WRITE_MEDIA_STORAGE" />
  <uses-permission android:name="android.permission.RESTART_PACKAGES" />
  <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
  <!-- 新的权限 -->
  <uses-permission android:name="android.permission.RECORD_AUDIO" />
  <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
  <uses-feature android:name="android.hardware.camera" />
  <uses-permission android:name="android.permission.CAMERA" />
  <uses-permission android:name="android.hardware.camera.autofocus" />
  <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
  <uses-permission android:name="android.permission.RECORD_VIDEO"/>
    

第三步:添加相关代码

在项目的整体使用

 {.java}
  //....其他代码
  import com.net1798.sdk.Sdk;
  //....其他代码

  public classMainActivity extends Activity {
  @Override
  public void onCreate(Bundle bundle)
  {
  //....其他代码
  Sdk sdk = new Sdk(this);
  //....其他代码
  }
  @Override
  protected void onDestroy()
  {
  //....其他代码
  sdk.close();
  //....其他代码
  }
  }

第四步:注册消息接收

sdk的所有消息均通过消息广播,因此需要注册一个广播消息的接收器。类似下面的代码:


public static final String SDK_PAYEND_ACTION = "com.net1798.sdk.test_pay";
class SdkBroadcastReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent)
    {
        String action = intent.getAction();
        if (SDK_PAYEND_ACTION.equals(action)) {
            String data = intent.getExtras().getString("data");
            debug.out("pay_result data="+data);
            try {
                    JSONObject parse = new JSONObject(data);
                    if ("pay_result".equals(parse.getString("method"))) {
                        orderId = parse.getJSONObject("data").getString("order");
                        Id = parse.getJSONObject("data").getString("id");
                     }
                     Toast.makeText(getApplicationContext(), "method" + parse.getString("method")+":"+ data,
                     Toast.LENGTH_LONG).show();
                 }catch (Exception e) {
                   debug.out("sdk on receive"+e);
                  }
          }
     }
}

//....其他代码
//注册消息接收

receiver = new SdkBroadcastReceiver();
IntentFilter intentFilter = new IntentFilter(SDK_PAYEND_ACTION);
intentFilter.setPriority(Integer.MAX_VALUE);
registerReceiver(receiver, intentFilter);

//....其他代码

sdk的所有消息内容均以json的封装方式放在intent.getExtras().getString("data");中. 所有的消息均类似下面的数据结构:


{
    "method": "pay_result",//消息方法,比如支付或者查询订单
    "action": "com.net1798.sdk.test_pay",//接收消息的action标识,为字符串
    "data": {
        "ret": 0//消息的返回值,一般情况下0表示成功,负数值表示失败,
                //在支付结果或者查询订单中,-1表示部分成功,-2表示完全失败。
                //注意:对于短信支付,这个返回值仅表示用户操作成功。
                //.... 其他内容
    }
}
   

第五步:调用sdk相关功能

比如调用SDK的支付函数

Sdk.getSdk().pay(code, fee, action, item_name, item_desc);

比如调用SDK的数据交互函数

Sdk.getSdk().req(op, value, action);

第六步:发布

发布的时候,如果使用代码混淆的话,务必将下列语句添加到混淆文件中(一般为项目代码下的proguard-project.txt文件)SDK的jar包中的所有类不得混淆。否则在执行时会碰到错误

 
classcom.net1798.sdk.**{ *; }
classcom.merchant.android.**{*;}
classcom.mokredit.payment.**{*;}
classorg.mozilla.**{*;}
classcom.payeco.android.plugin.**{*;}
classandroid.support.v4.app.NotificationCompat$*{*;}
classandroid.support.v4.app.NotificationCompat{*;}