public class GoLoginUtil {
public static final String CLASSNAME = "className";
public static final int CODE_LOGIN = 1; // 登录成功回调 用于onActivityForResult 判断
/**
* 登录成功之后,通过 activityResult 回调到当前界面
*
* @param activity
* @param intent
* @param requestCode
*/
private static void startActivity(Activity activity, Intent intent, int requestCode) {
if (requestCode == -1) {
String targetClass = intent.getComponent().getClassName(); // 目标类
intent.putExtra(CLASSNAME, targetClass);
}
intent.setClass(activity, LoginActivity.class); // 跳转重定向到登录界面
activity.startActivityForResult(intent, requestCode);
}
/**
* 登录成功之后,直接跳转目标 Activity
*
* @param activity
* @param intent
*/
public static void startActivity(Activity activity, Intent intent) {
startActivity(activity, intent, -1);
}
/**
* 登录成功回调到当前界面
* 使用 onActivityResult 方法接收, requestCode = CODE_LOGIN
*
* @param activity
* @param intent
*/
public static void startActivityForResult(Activity activity, Intent intent) {
startActivity(activity, intent, CODE_LOGIN);
}
}
public class IntentUtil {
public static boolean isLogin; // 模拟获取当前用户登录状态。
/**
* 需要登录判断
*
* @param activity
* @param clazz
* @param bundle
*/
public static void startToLogin(Activity activity, Class clazz, Bundle bundle) {
Intent intent = new Intent(activity, clazz);
if (bundle != null) {
intent.putExtras(bundle);
}
if (isLogin) {
activity.startActivity(intent);
} else {
GoLoginUtil.startActivity(activity, intent);
}
}
/**
* 登录成功会有回调
* requestCode = Contants.CODE_LOGIN
*
* @param activity
* @param bundle
*/
public static void startToLoginResult(Activity activity, Bundle bundle) {
Intent intent = new Intent();
if (bundle != null) {
intent.putExtras(bundle);
}
GoLoginUtil.startActivityForResult(activity, intent);
}
}
public class LoginActivity extends FragmentActivity {
private String targetClass;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
targetClass = getIntent().getStringExtra(GoLoginUtil.CLASSNAME); // 目标跳转类
}
public void onLoginClick(View view) {
// 模拟登录成功操作
if (!TextUtils.isEmpty(targetClass)) {
// 这里就是执行继续跳转操作
try {
Class clazz = Class.forName(targetClass);
getIntent().setClass(this, clazz);
startActivity(getIntent());
finish();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
} else {
// 这里是登录成功,回调到之前界面 onActivityForResult()中 方法可根据自己需求处理。。
setResult(RESULT_OK);
finish();
}
}
}
/**
* 登录跳转
*
* @param view
*/
public void onClick1(View view) {
Bundle bundle = new Bundle();
bundle.putString("content", et_content.getText().toString());
IntentUtil.startToLogin(this, LoginSuccessActivity.class, bundle);
}
/**
* 登录回调
*
* @param view
*/
public void onClick2(View view) {
if (!IntentUtil.isLogin) {
IntentUtil.startToLoginResult(this, null);
} else {
tv_text.setText("登录成功");
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode != RESULT_OK) {
return;
}
if (requestCode == CODE_LOGIN) {
tv_text.setText("登录成功");
}
}
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有