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;
}
}
以上不多解释了,希望能有帮助;
谢谢!