如何只在横向模式下打开任何文件?

时间:2014-03-14 12:08:25

标签: android android-intent landscape

假设在androidManifest文件中将Myactivity.java屏幕方向设置为横向,即

android:screenOrientation="landscape"

此活动有一个openfileMethod,其代码如下: -

Intent intent = new Intent(android.content.Intent.ACTION_VIEW);
intent.setDataAndType(uriObj, mimeType);
startActivity(intent);

现在是否有任何程序化方法强制所选应用程序(即选择用于打开文件的应用程序)仅以横向模式启动。

如果是,怎么可能?如果需要更多信息,请通知我。

3 个答案:

答案 0 :(得分:0)

要以编程方式强制您的活动处于纵向模式,您必须添加以下行:

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

onCreateonResume致电您的openfileMethod()

答案 1 :(得分:0)

我认为您希望在运行时更改方向。这是一个解决方案 How to lock orientation during runtime OnCreate中:

int currentOrientation = getResources().getConfiguration().orientation;
if (currentOrientation == Configuration.ORIENTATION_LANDSCAPE) {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE);}
else {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT);
}    
+ yourmethod();

答案 2 :(得分:0)

我不认为这是可能的。为什么要强制这种行为对用户?也许如果我们知道为什么你试图强迫外部应用程序打开景观,那么我们或许可以为您提出替代解决方案。

如果不这样做,您需要在应用程序中编写自己的查看器活动,并创建明确运行该活动的意图。