获取android源中的选择器活动名称

获取android源中的选择器活动名称,android,Android,在我的应用程序中,我在后台服务中检查top activity名称,如果top activity在默认情况下不是android中的Chooser activity,则调用一个函数。我发现活动名称为“com.android.internal.app.ChooserActivity”。所以我正在硬编码和检查。一切正常。但是当活动名称被更改(被谷歌更改)时会发生什么呢。所以我的问题是,有没有办法在运行时获取选择器活动?在后台服务中,运行一个线程,通过ApplicationManager获取活动的顶部,然

在我的应用程序中,我在后台服务中检查top activity名称,如果top activity在默认情况下不是android中的Chooser activity,则调用一个函数。我发现活动名称为“com.android.internal.app.ChooserActivity”。所以我正在硬编码和检查。一切正常。但是当活动名称被更改(被谷歌更改)时会发生什么呢。所以我的问题是,有没有办法在运行时获取选择器活动?

在后台服务中,运行一个线程,通过ApplicationManager获取活动的顶部,然后可以在运行时比较活动的顶部

ActivityManager am = (ActivityManager) this.getSystemService(ACTIVITY_SERVICE);



 // get the info from the currently running task
 List< ActivityManager.RunningTaskInfo > taskInfo = am.getRunningTasks(1); 

 Log.d("topActivity", "CURRENT Activity ::"
         + taskInfo.get(0).topActivity.getClassName());

 ComponentName componentInfo = taskInfo.get(0).topActivity;
ActivityManager am=(ActivityManager)this.getSystemService(ACTIVITY_服务);
//从当前正在运行的任务中获取信息
列表taskInfo=am.getRunningTasks(1);
Log.d(“topActivity”,“当前活动:”
+taskInfo.get(0.topActivity.getClassName());
ComponentName componentInfo=taskInfo.get(0).topActivity;
getPackageName(); 您需要在清单上具有以下权限:


使用权限android:name=“android.permission.GET_TASKS”

这就是我现在要做的。我需要一个如何在运行时获取选择器活动名称的答案。。。