使用ACTION_VIEW intent时,Android方向会强制更改



我有横向模式的应用程序。

我在清单文件中放入了属性"android:screenOrientation="landscape"。

我的应用程序有以下代码。

Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("tstore://someAppsId"));
activity.startActivity(intent);

在韩国,android的T商店应用程序普遍使用。T存储应用程序处理url模式"tstore://"。

我的代码只是打开T商店应用程序。

遗憾的是,T型存储应用程序仅支持纵向。

有问题。

就在打开t存储活动之前,安卓操作系统会在一瞬间(0.2秒?)将我的活动方向更改为纵向模式,然后打开t存储。

这不会发生在支持横向模式的Android市场应用程序中。

在这种情况下,有没有办法有力地防止方向改变?

在您的活动中添加以下代码。

用于人像

@override
protected void onResume(){
 setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT );
}

用于横向

@override
protected void onResume(){
 setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE );
}

尝试将android:configChanges="orientation"属性添加到清单文件中。

只需从代码中设置活动的方向,这样就可以更容易地根据您的需求控制方向。设置方向的代码是,用于纵向

     setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT );

对于横向,

     setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE );

最新更新