获取当前活动的小部件

Posted

技术标签:

【中文标题】获取当前活动的小部件【英文标题】:Get the currently active widget 【发布时间】:2014-01-21 23:11:52 【问题描述】:

我已获得所有小部件应用列表。我的问题是我无法知道手机中当前处于活动状态的小部件。 我正在通过此代码获取小部件应用程序列表,

AppWidgetManager manager1=AppWidgetManager.getInstance(ctx);
        List<AppWidgetProviderInfo>infoList=manager1.getInstalledProviders();
        for(AppWidgetProviderInfo info:infoList)
        
           String component = ""+info.provider;
           Log.i("Widget", ""+component);

        

ctx 是 Context 的对象。

我可以获取当前活动的应用程序包名称,但如果是小部件,我不能。

【问题讨论】:

这里是您的问题的解决方案***.com/questions/8836724/… 实际上,我正在尝试从我自己的应用程序中获取小部件(另一个应用程序)的包名称。@Sridhar 您正在给我解决方案,只在我的应用程序中执行 activeCheck.. 【参考方案1】:
ActivityManager actvityManager = (ActivityManager)
this.getSystemService( ACTIVITY_SERVICE );
List<RunningAppProcessInfo> procInfos = actvityManager.getRunningAppProcesses();

此处示例:http://www.dreamincode.net/forums/topic/138412-android-20-list-of-running-applications/

【讨论】:

【参考方案2】:

我还没有尝试过,但你可以尝试使用 getRunningServices 由于这些小部件通过内部广播接收器与其应用程序进行通信,因此您无法拦截

【讨论】:

以上是关于获取当前活动的小部件的主要内容,如果未能解决你的问题,请参考以下文章

在使用 swiftui 的小部件中如何获取当前位置? [复制]

看不到点击意图附加信息的小部件

如何在tkinter中找出当前的小部件大小?

Android:将对象从集合小部件传递到活动

显示当前小部件类之外的小部件

在Dijit销毁小部件