minSdkVersion=15
というAndroid搭載のモバイルアプリケーションを開発しています。私はタブレットの両方向とスマートフォンの肖像画のみをサポートしたいと思います。すべてが魅力のように機能しますが、私は私を狂ってしまう小さなバグを経験しています。 スマートフォンがランドスケープモードで、新しいアクティビティをトリガしようとすると、しばらくの間横長モードで開き、その後、縦向きに自動回転します。私はそのように私ができるようだからたManifest.xml内android:screenOrientation
を指定しないことを選択Androidのアクティビティの向きが自動的に変更されます
public class Helper {
public static boolean isTablet(Context context){
Configuration config = context.getResources().getConfiguration()
return config.smallestScreenWidthDp >= 600;
}
}
:
public class GeneralActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// If smartphone lock orientation to portrait
if (!Helper.isTablet(this.getApplicationContext())){
this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}
}
}
が、私はこの機能でタブレットを検出: は、私の活動のそれぞれはGeneralActivityクラスを拡張しますタブレットのすべてのインターフェイスの向きをサポートします。 何か不足していますか?
EDIT
私はジョナサンでの回答で提案されているベストプラクティスを適用することを決めたが、私は説明されている問題はまだここにいます。ここにgithubに関する私のレポがあります:https://github.com/giacmarangoni/Android-Orientation-Test
こんにちは、私は...同じ問題に直面していますし、それが唯一の発生をNougatデバイスのために。私はあなたと同じシナリオを持っていて、それにひどくついています。あなたは運がありましたか? –