Android:我如何获得当前的前台活动(从服务)?是否有本地Android方式从服务中获取当前正在运行的活动的引用?我有一个在后台运行的服务,我想在事件发生时(在服务中)更新我的当前活动。有没有一种简单的方法(就像我上面建议的那样)?
3 回答
![?](http://img1.sycdn.imooc.com/545845d30001ee8a02200220-100-100.jpg)
青春有我
TA贡献1784条经验 获得超8个赞
是否有本地Android方式从服务中获取当前正在运行的活动的引用?
我有一个在后台运行的服务,我想在事件发生时(在服务中)更新我的当前活动。有没有一种简单的方法(就像我上面建议的那样)?
发送广播 Intent
参加活动- 演示这种模式 有活动供给 PendingIntent
(例如,VIA createPendingResult()
)服务调用的 让活动将回调或侦听器对象与服务注册为 bindService()
,并让服务在回调/侦听器对象上调用一个事件方法。 发送命令广播 Intent
以低优先级参加活动 BroadcastReceiver
作为备份(以引发 Notification
如果活动不在屏幕上) 有更多关于这种模式的信息
![?](http://img1.sycdn.imooc.com/54584d560001571a02200220-100-100.jpg)
守候你守候我
TA贡献1802条经验 获得超10个赞
ActivityManager am = (ActivityManager) this.getSystemService(ACTIVITY_SERVICE); List<ActivityManager.RunningTaskInfo> taskInfo = am.getRunningTasks(1); Log.d("topActivity", "CURRENT Activity ::" + taskInfo.get(0).topActivity.getClassName()); ComponentName componentInfo = taskInfo.get(0).topActivity; componentInfo.getPackageName();
<uses-permission android:name="android.permission.GET_TASKS"/>
- 3 回答
- 0 关注
- 860 浏览
添加回答
举报
0/150
提交
取消