Android 旋转对当前apk包名及类名进行判断

Android 旋转对当前apk包名及类名进行判断;

        import android.view.WindowManager;
   
         public equalsName(){
           //定义要对应app的包名和类名;
            final String namePackage = "com.android.app.name";
	        final String nameCalss = "com.android.name.app.activity.ActivityName";
	           //拿到当前Activity包名和类名;
	            ActivityName activityNames = new ActivityName().invoke();
	            String pkn = activityNames.getPkn();
	            String pkc = activityNames.getPkc();
	            if (pkn.equals(namePackage) && pkc.equals(nameCalss)) {
	               //获取WindowManager的service,获取旋转方向对其进行判断;
	                mWindowManager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
	                int rotation = mWindowManager.getDefaultDisplay().getRotation();
	                if (rotation == 0) {
	                   //要做的事情
                      }
	            }
	      }
        import android.app.ActivityManager;
        import android.content.ComponentName;
	    private class ActivityName {    
	        private String pkn;
	        private String pkc;
	
	        public String getPkn() {
	            return pkn;
	        }
	
	        public String getPkc() {
	            return pkc;
	        }
	
	        public ActivityName invoke() {
	           //获取ActiviityManager的service,拿到当前运行在栈顶的app包名和类名;
	            ActivityManager activityManager = (ActivityManager) mContext.getSystemService(Context.ACTIVITY_SERVICE);
	            ComponentName componentName = activityManager.getRunningTasks(1).get(0).topActivity;
	            pkn = componentName.getPackageName();
	            pkc = componentName.getClassName();
	            return this;
	        }
	    }

以上不多解释了,希望能有帮助;
谢谢!

猜你喜欢

转载自blog.csdn.net/xiao_yuanjl/article/details/83058674