簡體   English   中英

檢查android設備是否可以旋轉

[英]Check if android device rotation possible

我想知道android設備是否支持設備旋轉。 我以為任何Android設備都支持屏幕旋轉,但是我的Samsung Galaxy View不支持屏幕旋轉。

我只找到以下代碼:

if (android.provider.Settings.System.getInt(getContentResolver(), Settings.System.ACCELEROMETER_ROTATION, 0) == 1){
    Toast.makeText(getApplicationContext(), "Auto Rotate is ON", Toast.LENGTH_SHORT).show();

} else {
    Toast.makeText(getApplicationContext(), "Auto Rotate is OFF", Toast.LENGTH_SHORT).show();
}

但這僅讓我知道用戶是否將屏幕旋轉設置為開或關,我想知道是否完全可能。

請幫助我,最良好的祝願

獅子座

您可以檢查傳感器的可用性。 這是官方文檔

PackageManager manager = getPackageManager();
boolean hasAccelerometer = manager.hasSystemFeature(PackageManager.FEATURE_SENSOR_ACCELEROMETER);

加速度計的作用

加速度計是一種內置電子組件,可測量傾斜度和運動。 它還能夠檢測旋轉和運動手勢,例如擺動或搖動。

它最常見的用途是當用戶將其方向從縱向更改為橫向或反之時激活移動設備上的自動屏幕旋轉。

也許嘗試將應用程序屏幕簡單地鎖定在一個位置,以便在可以旋轉的情況下跳過結帳步驟:)

借助Kishore Jethava的答案,這里應該是這樣。

public static boolean isRotationPossible(Context context) {
    boolean hasAccelerometer = context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_SENSOR_ACCELEROMETER);

    return (hasAccelerometer && android.provider.Settings.System.getInt(getContentResolver(), Settings.System.ACCELEROMETER_ROTATION, 0) == 1);
}

盡管每個設備都支持旋轉功能,但是您不能檢查任何一個設備是否支持旋轉。 如果設備是縱向或橫向,則只能檢查傳感器和旋轉模式。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM