第三方唤醒&登陆

#功能说明:第三方应用或web下载/唤醒/自动登录到学习通

#负责人:iOS-肖泽强, android-殷雅乐

#协议版本:v1.0

协议详细操作过程

1.第三方应用内上架学习通
2.第三方应用后台服务配置
3.第三方应用用户账号对接学习通泛雅后台
4.第三方应用内打开学习通完成自动登录调用方式:

step2配置参数说明:
fid          单位id          超星固定分配 如:2023
fidType   单位类型      超星固定分配 如:1
token     用户登录名(工号、学号)加密信息DES(KEY对接时沟通)

代码示例:

  • Android

学习通包名:com.chaoxing.mobile

/**
 * 判断是否已经安装学习通
 *
 * @param context
 * @param packageName 学习通包名
 * @return
 */
public static boolean isAppInstalled(Context context, String packageName) {
    try {
        return context.getPackageManager().getPackageInfo(packageName, 0) != null;
    } catch (PackageManager.NameNotFoundException e) {
    }
    return false;
}

/**
 * 启动学习通(仅用作唤醒学习通)
 *
 * @param context
 * @param packageName 学习通包名
 */
public static void launchStudy(Context context, String packageName) {
    Intent intent = context.getPackageManager().getLaunchIntentForPackage(packageName);
    if (intent != null) {
        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        context.startActivity(intent);
    }
}

/**
 * @param context 启动学习通并登录
 * @param url     登录url(如:cxstudy://cxstudy/login?fid=xxx&fidType=xxx&token=xxx)
 */
public static void launchStudyAndSignIn(Context context, String url) {
    Intent intent = new Intent(Intent.ACTION_VIEW);
    intent.setData(Uri.parse(url));
    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    context.startActivity(intent);
}

// WEB启动学习通(方式1)
function launchStudy() {
    window.location = "cxstudy://";
    setTimeout(function() {
        if (!document.webkitHidden) {
            window.location = 'https://apps.chaoxing.com/';
        }
    }, 50);
}

// WEB启动学习通(方式2)
function launchStudy2() {
    window.location = 'intent://lanuch#Intent;scheme=cxstudy;package=com.chaoxing.mobile;S.browser_fallback_url=https%3A%2F%2Fapp.chaoxing.com;end;';
}

// WEB启动学习通并登录(方式1)
function launchStudyAndSignIn() {
    window.location = "cxstudy://cxstudy/login?fid=xxx&fidType=xxx&token=xxx";
    setTimeout(function() {
        if (!document.webkitHidden) {
            window.location = 'https://apps.chaoxing.com/';
        }
    }, 50);
}

// WEB启动学习通并登录(方式2)
function launchStudyAndSignIn2() {
    window.location = 'intent://cxstudy/login?fid=xxx&fidType=xxx&token=xxx#Intent;scheme=cxstudy;package=com.chaoxing.mobile;S.browser_fallback_url=https%3A%2F%2Fapp.chaoxing.com;end;';
}
  • iOS
/**
 * @note canOpenURL 正常调用需在 info.plist中找到LSApplicationQueriesSchemes,添加对应key "cxstudy"
 * @param appOpenURLStr 为唤醒地址 仅唤醒而不登录可赋值@"cxstudy://"
 * @param appDownloadURLStr 为学习通App Store中的下载地址
 */

if (  [[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"cxstudy://"]]) {
      NSString *appOpenURLStr = @"cxstudy://cxstudy/login?fid=xxx&fidType=xxx&token=xxx";
      [[UIApplication sharedApplication] openURL:[NSURL URLWithString:appOpenURLStr]];
}
else {
      NSString *appDownloadURLStr = @"https://itunes.apple.com/cn/app/%E8%B6%85%E6%98%9F%E5%AD%A6%E4%B9%A0%E9%80%9A/id977946724?mt=8";
      [[UIApplication sharedApplication] openURL:[NSURL URLWithString: appDownloadURLStr]];
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 179,822评论 25 708
  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    阳明AI阅读 16,296评论 3 119
  • @font-face是CSS3中的一个模块,他主要是把自己定义的web字体嵌入到你的网页中1、@font-face...
    MakingChoice阅读 409评论 0 0
  • 不如找个人嫁了算了。 当生活不如意、工作不顺心、碰到什么困难了、年龄老大不小了,有的姑娘就会发出这句感叹“不如找个...
    Azadzad阅读 328评论 0 0
  • 你认为现在的孤独仅仅因为背井离乡,那以前的难熬又是因为什么呢? 你渴望关心渴望被存在,可事与愿违。
    Auuu也是矮油呀阅读 131评论 0 0

友情链接更多精彩内容