【安卓】如何获取一个Android App APK的所有Activity类名,并通过代码启动其中某个Activity?
我知道如何启动第三方app的launcher,但如何启动第三方app内某个Activity组件?如何查找该Activity的classname
回答
这个问题可以拆开成两个问题(鉴于其中一个问题与SF上另一个问题重复,所以我把你的标题也顺带修改了,原标题“如何在自己编写的app里直接启动微信的朋友圈”)。
如何在自己编写的app里直接启动微信的朋友圈?
就我目前的测试结果来看,答案是不可行的,会导致崩溃。与问题通过startActivity启动第三方应用的Activity时崩溃Permission Denial(比如打开微信朋友圈)重复。
如何获取一个Android App APK的所有Activity类名?
我目前找到了两种办法:
方法1: 通过adb logcat
$ adb logcatV/ActivityManager( 602): com.tencent.mm/.plugin.sns.ui.SnsTimeLineUI: task=TaskRecord{432b6e58 #3 A com.tencent.mm U 0}
V/ActivityManager( 602): com.tencent.mm/.ui.LauncherUI: task=TaskRecord{432b6e58 #3 A com.tencent.mm U 0}
方法2:通过一个App: Development.apk
它是默认安装在Android模拟器里的app,目的是方便测试和debug,其中一个功能叫Package Browser
,可以看到App内的所有的activity.
关于它你还可以参考:使用Dev Tools查看App的包名和所有Activity
这篇文章给出了下载链接: android 真机 安装 模拟器 DevTools Development.apk
就是这样 : )
以上是 【安卓】如何获取一个Android App APK的所有Activity类名,并通过代码启动其中某个Activity? 的全部内容, 来源链接: utcz.com/a/100911.html