今天无意发现了一款软件,进去点了两下,竟然直接跳到了微信二维码扫描界面,喜悦之情难以掩饰,终于等到你...
昨夜西风凋碧树
没错,三个月之前,我需要这个技能,网上搜索了一番,得到如下代码:
public static void toWeChatScan(Context context) {
try {
Uri uri = Uri.parse("weixin://");
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
context.startActivity(intent);
} catch (Exception e) {
}
}
然而新版本微信已经失效,只能进入到微信界面,不能打开二维码.独上高楼,望尽天涯路.
衣带渐宽终不悔
时间如流水般飞逝了两周,忽然打开了小米的扫一扫,这个软件技能真多,不仅可以扫码,还可以扫题,扫名片,扫文档,扫字翻译,这都不是重点,关键能直接进入微信和支付宝扫一扫.
于是提取了这个apk(怎么提取呢,后面会写个文章,专门介绍那些安卓开发神器APP,颤抖吧...).反编译了下,这个app也没混淆,也没加固,哈哈哈,最新版不知道啥情况,不过可悲的是去掉了微信和支付宝扫一扫入口...
反编译得到了如下代码:
public static void toWechatScanFromMIUI(Context context) {
String packageName = "com.tencent.mm";
String activityName = "com.tencent.mm.plugin.scanner.ui.BaseScanUI";
Intent intent;
try {
intent = new Intent();
intent.setClassName(packageName, activityName);
intent.setFlags(268435456);
intent.setComponent(new ComponentName(packageName, activityName));
context.startActivity(intent);
} catch (Exception e) {
}
}
这个可以直接进入微信扫一扫二维码 Activity
, 怎么知道是这个 Activity
呢,期待神器祭出吧.然鹅,我的APP使用这个代码,同样只打开了微信界面,并没有卵.
发生了什么,谷歌了一下,发现只有两种情况可以打开其他软件的 Activity
:
- 目标
Activity
有exported
标签 - 需要权限
android.permission.START_ANY_ACTIVITY
发现微信扫一扫这个 Activity
并没有 exported
标签,然后在小米扫一扫的清单文件里发现了上面那个神一般的权限,然而这个权限和系统有关系,不同的系统处理有些差异,具体未测试,在miui上不好使,有了系统权限肯定好使,而这个扫一扫就具有系统权限,为伊消得人憔悴.
众里寻他千百度
时间转眼就来到了七月份的前头,一切仍在他合适的轨道上运转,不偏不倚,不快不慢.
就像那个很火的英文诗歌写的那样:
New York is 3 hours ahead of California,
but it does not make California slow.
……
诗歌写的很棒,读起来也很舒服,内容更是不用多说。
今天,一个普通应用打开了你,原来这就是你的样子.
- 使用反编译神器
jadx
破解,还好没加固,只是混淆了一下,希望还是有的 - 用显示任意
Activity
的神器找到该Activity
- 还好代码不多,点击事件处理里跳转了一下,找到了下面的代码:
public static void toWeChatScanDirect(Context context) {
try {
Intent intent = new Intent();
intent.setComponent(new ComponentName("com.tencent.mm", "com.tencent.mm.ui.LauncherUI"));
intent.putExtra("LauncherUI.From.Scaner.Shortcut", true);
intent.setFlags(335544320);
intent.setAction("android.intent.action.VIEW");
context.startActivity(intent);
} catch (Exception e) {
}
}
测试了下,完美展现了你的样子.蓦然回首,原来,你在这里.
网友评论
intent.setFlags(335544320);
这些数据是怎么来的呢?