最近需要去实现应用内跳转至微博的个人信息页面(用户个人主页),其本质就是打开并跳转至第三方App指定的页面。显然,我们可以通过调用 startActivity(intent) 来实现该功能,其关键就是 intent 中需要携带哪些信息。
反编译 AndroidManifest.xml
将新浪微博的apk文件中的 AndroidManifest.xml 文件解压提取出来,然后使用 AXMLPrinter2.jar 对清单文件进行反编译:
java -jar AXMLPrinter2.jar AndroidManifest.xml > weibo.xml
其中 weibo.xml 即反编译成功的清单文件。
获取微博个人页 Activity
因为之前 weibo.xml 中的 Activity 过多,我们需要知道微博的用户个人信息页面对应的 Activity 全称。这里有两种方法:
使用辅助App来获取当前的 Activity ,例如 当前界面(当前Activity) ,具体用法这里就不介绍了。
使用 adb 命令获取当前 Activity:
adb shell dumpsys activity activities | grep mFocusedActivity
当我们把新浪微博的个人信息页面切至前台时, adb 命令的结果为:
mFocusedActivity: ActivityRecord{9063f6f u0 com.sina.weibo/.page.ProfileInfoActivity t1578}
也就是说,新浪微博的个人信息页对应的 Activity 为 com.sina.weibo.page.ProfileInfoActivity, 那我们看 weibo.xml 中与该 Activity