package com.gumptech.loginsdk.sample; import android.app.Activity; import android.content.Context; import android.os.Bundle; import android.text.ClipboardManager; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.TextView; import android.widget.Toast; import com.gumptech.sdk.GumpPreference; import com.gumptech.sdk.GumpSDK; import com.gumptech.sdk.bean.GumpUser; import com.gumptech.sdk.bean.PurchaseResult; import com.gumptech.sdk.callback.InitializeCallback; import com.gumptech.sdk.callback.LoginStateListener; import com.gumptech.sdk.callback.PurchaseCallback; import com.gumpsdk.wuruid.R; public class MainActivity extends Activity implements PurchaseCallback{ private static final String TAG = "MainActivity"; private TextView tvVersion; private TextView userInfo; private Button btnLoginOrLogout; private String appId = "10022"; private String appKey = "93a27b0bd99bac3e68a440b48aa421ab"; private String sessionKey; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tvVersion = (TextView) findViewById(R.id.version); userInfo = (TextView) findViewById(R.id.user_info); btnLoginOrLogout = (Button) findViewById(R.id.login_or_logout); btnLoginOrLogout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (btnLoginOrLogout.getTag() == null || (Integer) btnLoginOrLogout.getTag() == 0) GumpSDK.start(MainActivity.this); else GumpSDK.logout(MainActivity.this); } }); findViewById(R.id.pay).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Bundle payInfo = new Bundle(); payInfo.putString("nick", "thi"); payInfo.putString("product", "元宝"); payInfo.putFloat("amount", 0.1f); payInfo.putString("extraInfo", "This is demo!"); payInfo.putString("serverId", "100"); payInfo.putString("sessionKey", sessionKey); GumpSDK.pay(MainActivity.this, payInfo, MainActivity.this); } }); /** * 设置否是开启debug模式 */ GumpSDK.setDebugState(true); /** * 设置是否启用facebook登录 */ GumpSDK.setFBEnable(true); /** * 设置是否启用Vk登录 */ GumpSDK.setVKEnable(false); /** * 设置屏幕方向 */ GumpSDK.setScreenLandscape(true); /** * 设置用户登录状态监听器 */ // GumpSDK.forceFBWithWeb(); GumpSDK.setUserStateListener(new LoginStateListener() { @Override public void onLoginSuccess(GumpUser user) { ClipboardManager cm = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE); cm.setText(user.getSessionKey()); sessionKey = user.getSessionKey(); String userType=null; switch(user.getAccountType()){ case GumpPreference.ACCOUNT_TYPE_FB: userType = "Facebook登录"; break; case GumpPreference.ACCOUNT_TYPE_QUICK_REG: userType = "快速登录"; break; case GumpPreference.ACCOUNT_TYPE_REG: userType = "gump注册用户"; break; case GumpPreference.ACCOUNT_TYPE_VK: userType = "vk登录"; break; } userInfo.setText(" Userid:" + user.getUid() + "\n accountType:(" + user.getAccountType()+") "+userType + "\n sessionKey:" + user.getSessionKey()); btnLoginOrLogout.setText("Logout"); btnLoginOrLogout.setTag(1); } @Override public void onLoginFailed(int code, String msg) { userInfo.setText(msg); Toast.makeText(MainActivity.this, "Login failed:code="+code+",message="+msg, Toast.LENGTH_SHORT).show(); } @Override public void onLoginCanceled() { Toast.makeText(MainActivity.this, "operate be canceled", Toast.LENGTH_SHORT).show(); } @Override public void onLogout() { btnLoginOrLogout.setText("Login"); btnLoginOrLogout.setTag(0); userInfo.setText("User is logout"); } }); /** * 初始化sdk */ GumpSDK.init(getApplicationContext(), appId, appKey, "1000", new InitializeCallback() { @Override public void initComplete(int result) { if (result == GumpSDK.CODE.OK) { btnLoginOrLogout.setEnabled(true); } } }); tvVersion.setText("SDK Version:" + GumpSDK.getVersion()); } @Override public void onPurchaseCompleted(PurchaseResult result) { Log.i(TAG,"purchase completed"); } @Override public void onPurchaseError(int code, String msg) { Log.i(TAG,"purchase error"); } @Override public void onPurchaseCanceled() { Log.i(TAG,"purchase canceled"); } }