有没有办法通过Intent打开Google身份验证器。如果是,是否可以使用已填充的密钥打开它,以使其对用户有用?
答案 0 :(得分: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身份验证器应用。
修改强>
您可以使用已设置的所有值调用Google身份验证器:
String uri = "otpauth://totp/whatever:" + email + "?secret=" + yourKey + "&issuer=whatever"
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(uri));
startActivity(intent);