有许多使用对当前活动的引用来截取屏幕截图的示例.但是,就我而言,我需要对来自外部SDK(但仍在我的应用程序中)的活动进行截屏.由于明显的原因,我的代码中没有对该活动对象的引用.我看到了使用Instrumentation和UiDevice的解决方案,但是它们似乎仅在使用TestCase框架实现测试应用程序时才有效,而我需要在正常应用程序中才能使用.
还有另一种方法吗?
解决方法:
好吧,如果有人发现这个问题有用,这就是我找到的答案:
在您的活动或服务中,调用getApplication().registeractivitylifecycleCallbacks(),并向其传递一个实现Application.ActivityLifecycleCallbacks接口的对象.该对象将获得对每个活动的onCreate / onStart等的回调,并带有对Activity对象的引用,您可以从中获取视图并进行屏幕截图.您可以通过外部SDK的程序包名称来识别它是活动.
注意:Application.ActivityLifecycleCallbacks仅从API级别14(又称为ICS)开始可用.
总结以上是内存溢出为你收集整理的Android-以编程方式截取屏幕快照,而无需引用视图/活动全部内容,希望文章能够帮你解决Android-以编程方式截取屏幕快照,而无需引用视图/活动所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)