任务列表中的第一个任务即为栈顶任务,我们可以通过调用topActivity属性来获取任务的栈顶Activity。 ComponentNametopActivity=taskList.get(0).topActivity;StringpackageName=topActivity.getPackageName();StringclassName=topActivity.getClassName(); 1. 2. 3. 这段代码中,topActivity是任务栈顶的Activity的组件名称。
ComponentNametopActivity=taskInfoList.get(0).topActivity; 1. 通过RunningTaskInfo对象的topActivity属性获取栈顶的ComponentName对象,它包含了Activity的包名和类名信息。 4. 获取栈顶Activity类名 StringtopActivityClassName=topActivity.getClassName(); 1. 通过ComponentName对象的getClassName()方法获取栈顶Activity的类...
这样在初始化Dialog的时候 AlertDialog.Builder dialog = new AlertDialog.Builder(BaseApp.getActivity());我们将我们Application中获取到的最新的Activity传进去,这样不管用户在哪一个界面,我们都能获取到栈最顶层的Activity。 最后我们要给我们的应用设置上我们自定义的Application: <application android:name=".base.Base...
第一步,需要在Androidmanifest中添加权限 <uses-permission android:name="android.permission.GET_TASKS"/> 第二步,使用ActivityManager获取栈顶Activity名称 ActivityManageram=(ActivityManager)getSystemService(Context.ACTIVITY_SERVICE);StringactivityName=am.getRunningTasks(1).get(0).topActivity.getClassName(); 第...
//得到栈顶Activity的名字,注意此处要进行判断,Android在5.0以后Google把getRunningTasks的方法给屏蔽掉了,所以要分开处理privatestaticStringgetTopActivityName(Contextcontext){StringtopActivityPackageName;ActivityManagermanager=(ActivityManager)context.getSystemService(context.ACTIVITY_SERVICE);if(Build.VERSION.SDK_INT>...
Android获取栈顶Activity public static String getTopActivityName(Context context){ String topActivityName=null; ActivityManager activityManager = (ActivityManager)(context.getSystemService(android.content.Context.ACTIVITY_SERVICE )) ; List<RunningTaskInfo> runningTaskInfos = activityManager.getRunningTasks(1) ...
数字1:启动Activity在这些类中是可以的,但是需要创建一个新的task。一般情况不推荐。 数字2:在这些类中去layout inflate是合法的,但是会使用系统默认的主题样式,如果你自定义了某些样式可能不会被使用。 数字3:在receiver为null时允许,在4.2或以上的版本中,用于获取黏性广播的当前值。(可以无视) ...
android获取栈顶Activity包名、类名+执行其他包的方法 获取栈顶Activity包名、类名;执行其他包的方法 private void getTopActivity(LocalService localService) { ActivityManager manager = (ActivityManager) localService; .getSystemService(ACTIVITY_SERVICE); List runningTaskInfos = manager.getRunningTasks(1); if ...
android获取栈顶Activity包名、类名+执行其他包的方法 获取栈顶Activity包名、类名;执行其他包的方法 private void getTopActivity(LocalService localService) { ActivityManager manager = (ActivityManager) localService; .getSystemService(ACTIVITY_SERVICE); List runningTaskInfos = manager.getRunningTasks(1); if ...
获取栈顶Activity包名、类名;执行其他包的方法 privatevoidgetTopActivity(LocalServicelocalService){ ActivityManagermanager=(ActivityManager)localService; .getSystemService(ACTIVITY_SERVICE); List<RunningTaskInfo>runningTaskInfos=manager.getRunningTasks(1); if(runningTaskInfos!=null){ ComponentNamecn=...