功能实现:个人免签支付系统,短信监测自动回调源码APP 完美功能 实时监测回调!
设计思路及实现功能:
1.回调地址只需要填写自己写的网址的POST接口即可,
2.监测支付宝&微信收款信息提示,检测收款信息短信信息!收到后自动向预先设置好的请求地址去做自动回调。
监控各类银行短信,并实时发送回调,对接免签支付系统,应用与微信,支付宝转银行卡、收钱吧、农银信等接口监控回调。
开发工具及编程语言:Android Studio,JAVA android APP开发。
在这里插入代码片import com.zookj.android.http.JsonHttpResponseHandler;
import com.zookj.android.http.RequestParams;
public class MainActivity extends AppCompatActivity implements View.OnClickListener{
private static final String TAG = "MainActivity";
private Toolbar myToolbar;
private Button btnsetposturl;
private FloatingActionButton btnshowlog;
private EditText posturl;
private SharedPreferences sp ;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
}
private void initView() {
sp = getSharedPreferences("url", Context.MODE_PRIVATE);
myToolbar= (Toolbar) findViewById(R.id.my_toolbar);
setSupportActionBar(myToolbar);
btnsetposturl=(Button) findViewById(R.id.btnsetposturl);
btnsetposturl.setOnClickListener(this);
btnshowlog=(FloatingActionButton) findViewById(R.id.floatingshowlog);
btnshowlog.setOnClickListener(this);
posturl = (EditText) findViewById(R.id.posturl);
if(getPostUrl()!=null)
posturl.setHint(getPostUrl());
}
@Override
protected void onResume() {
super.onResume();
boolean isAuthor=isNotificationServiceEnable();
if (!itAthor){
//android.settings.ACTION_NOTIFICATION_LISTENER_SETTINGS是API 22才加入到Settings里,这里直接写死
startActivity(new Intent("android.settings.ACTION_NOTIFICATION_LISTENER_SETTINGS"));
}
}
@Override
protected void onDestroy() {
super.onDestroy();
}
/**
* 是否已授权
*
* @return
*/
private boolean isNotificationServiceEnable() {
return NotificationManagerCompat.getEnabledListenerPackages(this).contains(getPackageName());
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.btnsetposturl:
posturl.setHint(null);
setPostUrl();
break;
case R.id.floatingshowlog:
showLog();
break;
}
}
private String getPostUrl(){
String posturlpath;
posturlpath =sp.getString("zookj", "");
if (zookjpath==null)
return null;
else
return zookjpath;
}
private void showLog() {
//startActivity(new Intent(this, LogActivity.class));
openLynxActivity();
}
private void openLynxActivity() {
LynxConfig lynxConfig = new LynxConfig();
lynxConfig.setMaxNumberOfTracesToShow(4000)
Intent lynxActivityIntent = LynxActivity.getIntent(this, lynxConfig);
startActivity(lynxActivityIntent);
}
private void openSettingActivity(){
Intent intent = new Intent(MainActivity.this, PreferenceActivity.class);
startActivity(intent);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// TODO Auto-generated method stub
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.action_settings:
// User chose the "Settings" item, show the app settings UI...
openSettingActivity();
return true;
default:
// If we got here, the user's action was not recognized.
// Invoke the superclass to handle it.
return super.onOptionsItemSelected(item);
}
}
}