package net.makito.himitsu; import java.security.PublicKey; import com.umeng.analytics.MobclickAgent; import android.os.Bundle; import android.app.*; import android.content.*; import android.text.StaticLayout; import android.text.TextUtils; import android.view.*; import android.widget.*; import android.widget.AutoCompleteTextView.Validator; import android.view.View.OnClickListener; import android.view.View; public class ScanCodeActivity extends Activity implements View.OnClickListener { public Button scancodeBtnDecrypt; public EditText scancodePassword; public TextView scancodeHintPassword; public TextView scancodeOutput; public String scanResult; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.scancode); if (ZXingExist.isAvilible(this, "com.srowen.bs.android")) { } else { Toast.makeText(this, "没有安装需要的二维码扫描器 现在将进行安装", Toast.LENGTH_SHORT).show(); ZXingExist.Install(this); } scancodeBtnDecrypt = (Button) findViewById(R.id.scancode_btn_decrypt); scancodePassword = (EditText) findViewById(R.id.scancode_password); scancodeHintPassword = (TextView) findViewById(R.id.scancode_hint_password); scancodeOutput = (TextView) findViewById(R.id.scancode_output); scancodeBtnDecrypt.setOnClickListener(this); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.scancode_btn_decrypt: String mPassword = scancodePassword.getText().toString(); if (TextUtils.isEmpty(mPassword)) { Toast.makeText(this, "请输入二维码密码", Toast.LENGTH_LONG).show(); } else { if (ZXingExist.isAvilible(this, "com.srowen.bs.android")) { Intent intent = new Intent("com.google.zxing.client.android.SCAN"); intent.putExtra("SCAN_MODE", "QR_CODE_MODE"); startActivityForResult(intent, 0); } else { Toast.makeText(this, "没有安装需要的二维码扫描器 现在将进行安装", Toast.LENGTH_SHORT).show(); ZXingExist.Install(this); } } break; default: break; } } //二维码扫描回调接口 public void onActivityResult(int requestCode, int resultCode, Intent intent) { if (requestCode == 0) { if (resultCode == RESULT_OK) { String mPassword = scancodePassword.getText().toString(); String scanResult = intent.getStringExtra("SCAN_RESULT"); String mDecrypted = net.makito.himitsu.AES.decrypt(mPassword, scanResult); scancodeOutput.setText("二维码解密结果:\n"+mDecrypted); scancodeBtnDecrypt.setClickable(false); } else if (resultCode == RESULT_CANCELED) { scancodeOutput.setText("扫描失败,请按返回键并重新扫描!"); scancodeBtnDecrypt.setClickable(false); } } } public void onResume() { super.onResume(); MobclickAgent.onResume(this); } public void onPause() { super.onPause(); MobclickAgent.onPause(this); } }