Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么android闪屏不以kitkat&;的横向方向显示;旧设备?_Java_Android_Splash Screen_Android 4.4 Kitkat_Landscape - Fatal编程技术网

Java 为什么android闪屏不以kitkat&;的横向方向显示;旧设备?

Java 为什么android闪屏不以kitkat&;的横向方向显示;旧设备?,java,android,splash-screen,android-4.4-kitkat,landscape,Java,Android,Splash Screen,Android 4.4 Kitkat,Landscape,我已在我的android应用程序(具有android API级别14-26的目标支持)中添加了闪屏,如下所示: <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <color android:color="@color/colorPrimary"/> </item> <item>

我已在我的android应用程序(具有android API级别14-26的目标支持)中添加了闪屏,如下所示:

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <color android:color="@color/colorPrimary"/>
    </item>
    <item>
        <bitmap android:src="@drawable/my_logo" android:tileMode="disabled" android:gravity="center" />
    </item>
</layer-list>
在我的AndroidManifest.xml中

<activity
            android:name=".SplashActivity"
            android:theme="@style/SplashTheme">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
我的奇怪问题是:
在棒棒糖和更新的设备上,闪屏在横向和纵向屏幕方向都可以正常工作,但在Kitkat和pre-Kitkat设备上,闪屏仅在纵向屏幕方向工作。我怎样才能让它在kitkat和pre-kitkat设备上也适用于横向定向呢?

尝试在java类中使用

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR);

经过这么多小时的搜索,我终于找到了一个解决我这个奇怪问题的方法,而不是编码方法。不过,这听起来可能有点尴尬, 我想分享它,只是因为它对我有用,而且我认为它对其他人也有帮助。因此,以下是我的解决方法:

原因:

此问题是由默认的home launcher应用程序引起的,该应用程序管理设备横向和纵向屏幕方向的应用程序[我在1.Huawei MediaPad T1 7.0上观察到此问题] 平板电脑2.联想a-319 Rockstar和3.三星Galaxy S Duos 7562]。 但我没有发现任何设备上有任何问题[闪屏工作正常] 在1.三星Galaxy J Max SM-T285YD标签上的任何屏幕方向上 2.三星J 7 Prime手机]有棒棒糖或更新的安卓操作系统

解决方案:

因此,我更改了默认的家庭启动器应用程序 问题华为MediaPad标签的EMUI启动器和飞行启动器
联想a-319[我已经在这个设备上扎根了,所以launcher和 其他联想手机]被替换为 来自google play,现在google还没有正式支持它。作为 三星的Duos 7562不支持Google Now Launcher,它的TouchWiz 启动器被替换为。默认回家后 启动器应用程序更换,现在,所有目标上的问题都解决了 设备


到底是什么问题?它不会切换到lanscape方向?您希望它打开设备旋转还是希望它始终是横向的?您是否尝试在您的清单中的启动活动标记中添加
screenOrientation
属性?我希望启动屏幕以任何屏幕方向显示启动屏幕我启动应用程序时,它必须显示。例如,如果我以横向方向打开应用程序,启动屏幕必须以横向方向显示,但只有kitkat和旧设备存在的问题是:如果我以横向方向启动应用程序,它根本不会显示。仅供参考,我之前尝试过添加screenOrientation属性,但没有成功。这一点都没有帮助。有人用其他方法解决了这个问题吗?
public class SplashActivity extends AppCompatActivity {
    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        startActivity(new Intent(SplashActivity.this, ActivationActivity.class));
        finish();
    }
}
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR);