2012-12-28 114 views
1

我的Android应用程序被配置为只能在横向模式下工作,所以我想让从我的应用程序中通过意图创建的电子邮件客户端也成为横幅。可能吗?Android屏幕定位意图

这里是我的代码:

Intent i = new Intent(Intent.ACTION_SEND); 
i.setType("text/xml"); 
i.putExtra(Intent.EXTRA_EMAIL, new String[]{"[email protected]"}); 
i.putExtra(Intent.EXTRA_SUBJECT, "Feedback"); 
i.putExtra(Intent.EXTRA_TEXT, ""); 
try { 
    Intent chooser_intent = Intent.createChooser(i, "Send e-mail"); 
    startActivity(chooser_intent); 
} catch (android.content.ActivityNotFoundException ex) { 
    Toast.makeText(getApplicationContext(), "E-mail client not found", Toast.LENGTH_LONG).show(); 
} 

回答

3

如果活动的方向在您的应用程序的外部,则无法指定它的方向。如果某个活动对您的应用程序是本地的(即,在您自己的清单文件中定义) - 那么您可以指定那里的方向。

底线,你不能控制不是你自己的应用程序的方向(即通过系统意图调用)。

+0

是的,可能你是对的。 – Sergii

3

在Android清单中的活动添加此android:screenOrientation="landscape"

例如:

<activity android:name=".yourClientAddressActivity" android:screenOrientation="landscape"></activity> 
+0

谢谢,我已经为我的活动,但如何设置screenOrientation为非我的应用程序(电子邮件客户端)的意图? – Sergii

+1

我认为它不可能.. –

1

如果屏幕设备已经处于横向方向,那么如果它支持它的新的电子邮件的活动应该使用它;否则,它将进入肖像模式,但之后你无法做任何事情,因为它首先不支持横向模式。