打算打开 Google 身份验证器

Posted

技术标签:

【中文标题】打算打开 Google 身份验证器【英文标题】:Intent to Open Google Authenticator 【发布时间】:2015-11-20 22:48:56 【问题描述】:

有没有办法通过 Intent 打开 Google Authenticator。如果是,是否可以在已填写密钥的情况下打开它,以便用户使用?

【问题讨论】:

【参考方案1】:

我有一个更通用的代码,因此,您只需将包名称作为参数发送给方法openApp(Context context, String packageName)

public static void openApp(Context context, String packageName) 

    PackageManager manager = context.getPackageManager();
    Intent i = manager.getLaunchIntentForPackage(packageName);
    if (i == null) 
        try 
            context.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + packageName)));
         catch (android.content.ActivityNotFoundException anfe) 
            context.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("https://play.google.com/store/apps/details?id=" + packageName)));
        
        return;
    
    i.addCategory(Intent.CATEGORY_LAUNCHER);
    context.startActivity(i);

这样,即使设备上没有您尝试启动的应用程序,用户也会被您的应用程序驱动到 Play 商店并可能下载它。

所以,只需拨打openApp(context, "com.google.android.apps.authenticator2"); 即可打开 Google Authenticator 应用。

编辑

您可以使用已设置的所有值调用 Google Authenticator,如下所示:

String uri = "otpauth://totp/whatever:" + email + "?secret=" + yourKey + "&issuer=whatever"
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(uri));
startActivity(intent);

【讨论】:

以上是关于打算打开 Google 身份验证器的主要内容,如果未能解决你的问题,请参考以下文章

在不打开新窗口/标签的情况下使用 Google 身份验证登录

无法验证服务器身份calendar.google

通过 Google 打开 auth 2.0 身份验证后重定向 url 无效

在弹出窗口中打开 Google SignIn 用户身份验证,需要使用 OAuth 2.0 在同一选项卡本身中打开

Google身份验证器怎么用

如何使用 OAuth2 身份验证保护私有数据?