是否可以通过应用打开或关闭自动旋转功能?


17

每次使用Google Maps进行导航时,我都不得不打开自动旋转功能。我不知道为什么它不像YouTube之类的应用程序那样自动地景观化。

有没有一种方法可以为Google地图而不是其他任何应用程序打开“自动旋转”功能。

是否有应用程序可以执行此操作或以某种方式在Tasker中对其进行编程?


@Firelord:是的,通常我处于人像模式,但是当我想使用Google Maps Navigation时,我希望它处于自动旋转状态。如果您无法隔离其中的导航部分,则可以自动旋转Google地图。
Diskdrive

Answers:


22

此解决方案需要安装并启用Tasker。在Android 4.2.1、4.4.2、5.0.2和5.1.1上测试。

  1. 使用应用程序→地图创建配置文件
  2. 在上述配置文件的“ 任务 ” 下,将一个动作创建为+ →显示→显示自动旋转并将其设置
  3. 启用Profile和Tasker。

打开“地图”,然后将设备定向为横向模式,“地图”将跟随您。关闭地图,设备将恢复为纵向。

请享用!


要么

编辑开始:2015年6月6日

有一种方法可以强制系统将进入横向模式改变的值settings.db。(在Android 4.2.1上进行了测试,只有在此编辑下才需要root用户。)

  1. 使用应用程序→地图创建配置文件。
  2. 在上述配置文件的任务下,通过+ →代码→运行Shell创建操作然后输入以下详细信息:

    • 命令settings put system user_rotation 1
    • 选中使用根
  3. 使用Application→Maps的逆来创建另一个配置文件。
  4. 在上述配置文件的任务下,通过+ →代码→运行Shell创建操作然后输入以下详细信息:

    • 命令settings put system user_rotation 0
    • 选中使用根
  5. 启用配置文件和Tasker。

现在,无论设备的手动方向如何,地图都会自动进入横向模式。关闭设备后,设备将返回纵向模式。(请注意,OP关闭了“自动旋转”功能,因此应该可以使用。)

此项修改适用于像我这样的用户,他们在运行缓慢的设备上必须等待应用遵循其方向。:)

请享用!

要么

最后一种方法的缺点是,在某些设备上,该应用程序将首先以纵向模式打开,然后强制转换为横向模式。但是,可以使用应用程序快捷方式将应用程序直接启动到横向模式。Tasker允许使用,我们将使用它。

  1. 转到默认的启动器→小部件,然后选择任务快捷方式
  2. 选择新任务 →为其命名。
  3. 将操作创建为+ →代码→运行Shell,然后输入以下详细信息:

    • 命令settings put system user_rotation 1
    • 选中使用根
  4. 创建另一个动作,例如+应用程序→启动应用程序 →选择地图
  5. 要更改快捷方式的图标,请点击3x3正方形图标(在“ 任务快捷方式”窗口底部),然后选择该图标。
  6. 现在,您将看到一个快捷方式,其中包含在步骤4中选择的图标和在步骤2中选择的名称。
  7. 在Tasker中使用Application→Maps的逆来创建配置文件。
  8. 在上述配置文件的任务下,通过+ →代码→运行Shell创建操作然后输入以下详细信息:

    • 命令settings put system user_rotation 0
    • 选中使用根
  9. 启用配置文件和Tasker。

现在享受强制自动模式!

编辑关闭时间:2015年6月6日


对于塔斯克新手

  1. 启动Tasker。(请注意,一旦完成在Tasker中的更改,请点按“返回”键一次。Tasker将更改/关闭活动窗口并保存设置。)
  2. 在“个人档案”选项卡下,点击+应用程序 →选择地图新建任务 →为其命名,然后点击右图标。

    某些Android版本可能会要求您启用Tasker的辅助功能。按照那里的说明进行操作,然后返回Tasker。

    此步骤将创建一个配置文件,只要用户启动地图,就会触发该配置文件。

  3. 现在,我们位于命名任务下(在“任务”选项卡中)。点击+显示→显示自动旋转 →选择On以下设置

    我们正在此处创建一个动作,该动作将在触发配置文件后执行。

  4. 返回Tasker的主屏幕,您将看到一个带有Maps应用名称且标记为On的配置文件。
  5. 最小化Tasker,您将在通知栏中看到其图标。它会说No active profile。启动地图后,该消息将更改。
  6. 好吧,启动地图,看看魔术。定位设备后,地图将执行相同的操作。关闭地图后,设备将返回纵向模式。
  7. 您始终可以通过在Tasker中禁用或删除配置文件来停止此行为。您还可以通过其设置隐藏Tasker的通知图标。

立即享受地图!


伴侣,这正是我所追求的。为此欢呼!
Diskdrive

3
我很as愧,Firelord!通常是我带塔斯克参加比赛。这次我想到了一个不同的应用程序,Tasker用户(像我一样)甚至不需要它。因此,您肯定是从我这里获得+1的奖励:)我仍然会看到我的另一种答案,因为塔斯克(a)不是a)自由,b)对于新手来说往往太压倒了;)
Izzy

@Izzy谢谢!我期待为您中的每个人提供一如既往的优雅解决方案。我没有将Tasker步骤扩展到更多细节的原因是因为OP知道Tasker。但是,这对我来说是一个错误,因为将来的读者可能不了解Tasker的专有技术。猜,我应该这样写这样便于以下。:)
Firelord

无需批评您(尽管我同意更详细的步骤可能对其他用户有所帮助,但我明白了这里为什么不需要这些步骤)。我没想到就打了我的头:)
伊兹

1
哇!下票!这个答案不会失败,那么为什么收到拒绝票呢?请考虑解释,尊敬的唐纳德。
Firelord

5

如果您已扎根(可能不使用棒棒糖),那么还可以使用xposed模块“ 应用程序设置”

打开模块,搜索并打开“地图”,然后转到“ 方向”部分,然后选择“自动旋转”。这将强制其自动旋转。


这些功能看起来很有希望,但是有没有办法让我知道这个模块如何迫使应用程序保持一种模式?如果仅我可以将其模拟到Tasker中,则可以从生根保存一个,或者可能是需要root的设置。IDK!
Firelord

1
抱歉,需要研究其源代码(我还没有),所以我无法确定它的工作原理:/顺便说一下,这是它的源代码-> repo.xposed.info/module/de.robv.android .xposed.mods.appsettings :)
Jaskaranbir Singh

1
+1比起我的回答 “强制自动旋转”来说还算不错,但它确实使CPU Temperature崩溃了。;)
Firelord

3

除了Firelord的Tasker解决方案(相对于本文中提到的所有其他解决方案,我更喜欢–但Tasker是a)并非免费,并且b)特别是对于新手来说不胜枚举)和Jaskaranbir的App Settings(例如TaskerXposed通常有点)对于某些人来说太多了),还有第三个选项PerApp。承认,它已经有一段时间没有更新了,但可能更易于使用。在JellyBean(<4.1)之前,它甚至不需要root即可调整屏幕旋转。还涵盖了其他几个设置,因此您不妨看看。


正是因为自2013年以来就没有更新过许多此类应用程序,所以我要求OP提供他的设备和Android版本,以便可以提出很好的建议。猜猜,OP现在对Tasker感到满意。:)//也就是说,我可以通过Tasker强制以横向模式运行应用程序吗?我看了看AndroidManifest.xml地图,但IDT看到了有用的东西。
Firelord

1
我知道OP偏爱Tasker解决方案(我也是)。我的回答只是为那些寻找“简单的东西”的未来访客提供的:)而且,不,我没有在Tasker中玩介绍性的东西,所以我不能说。欢迎检查我的Tasker资源集合,可能有一些使用方法或附加组件:)
Izzy

PerApp对我不起作用(Android Marshmallow)
2016年

3

您可以使用“无眼项目” 称为“ 设置方向 ” 的应用。它不需要root,可以迫使任何应用旋转到任何方向,并且还可以基于传感器仅横向和横向反转。它轻巧而且免费。它在Google Play商店中可用。

编辑:使用旋转-方向管理器,而不是“ Pranav Pandey”。它与Lollipop完全兼容,是免费的,不需要root。此应用程序还具有每个应用程序设置,而先前的应用程序则没有。


+1。“设置方向”不符合该问题的要求,因为它在系统范围内强制执行方向。另一方面,“轮播-定向管理器”对于每个应用程序都做得很好。但是,它在我的设备(旧设备)上不流畅,但是可以完成工作。
Firelord


1

MacroDroid的免费版本也可以完成任务,尽管我仍然更喜欢使用Tasker解决方案

  1. 安装并启动MacroDroid
  2. 点击添加宏→应用程序启动器/已关闭→应用程序启动→确定 →选择要自动旋转的应用程序→ 确定
  3. 在“ 添加动作”下,点击“ 自动旋转开/关”→“自动旋转开” →“ 确定” →继续。
  4. 忽略添加约束 →继续并将宏命名为Auto Rotate On
  5. 使用“ 添加宏”→“应用程序启动器/关闭”→“应用程序关闭”→“确定”来创建另一个宏,然后选择在步骤2中选择的应用程序→“ 确定”
  6. 在“ 添加动作”下,点击“ 自动旋转开/关”→“自动旋转关”→“确定” →继续。
  7. 忽略添加约束 →继续并将宏命名为Auto Rotate Off

而已。功能已经实现,您可以通过启动和关闭在上述步骤中选择的应用程序来进行测试。


1

AutomateIt的免费版本也可以完成这项工作。

  1. 安装并启动AutomateIt。
  2. 我的规则块下,点击添加规则→应用程序状态触发器 →在应用程序下,点击镜头图标,然后选择您的应用程序→ 下一步
  3. “操作”选项卡下,点击“ 启用/禁用屏幕旋转”→“启用屏幕旋转”→“下一步”→“否”→保存规则。
  4. 通过点击添加规则→应用程序状态触发器→应用程序下点击镜头图标并选择您的应用程序→取消选中应用程序已激活下一步,从“ 我的规则”块中创建另一个规则。
  5. “操作”选项卡下,点击“ 启用/禁用屏幕旋转”→“禁用屏幕旋转”→“否”→保存规则。

而已。功能已经实现,您可以通过启动和关闭在上述步骤中选择的应用程序来进行测试。


1

Tasker甚至允许您添加条件的,例如,如果我的显示是这样,则执行其他操作。因此,基于此,我想出了自己的解决方案,该解决方案似乎有些令人费解,但对我有用。由于我的设备没有root用户,因此需要root用户的shell代码命令仍然无法工作。

但是,使用if else循环(由于我最初添加了一些其他调试代码,因此可以进一步减少该循环),您可以简单地基于Orientation的值设置AutoRotate。因此,您将这两个值存储在名为ROTATEDISPLAY的两个变量中,并在if循环的开始时使用正则表达式检查DISPLAY(我必须这样做,因为无论出于何种原因,方向值都会在横向和横向反转之间保持跳跃,因此此正则表达式兼顾两者):

%DISPLAY〜R景观(。*)?

如果这是您想要的设置,则可以在“如果不是”循环中将“自动旋转设置为“ 关”。此外,我还安装了一个名为AutoInput的Tasker插件,该插件可以锁定主屏幕和后退按钮,要退出,我可以按另一个按钮,该按钮将打开所有打开的窗口并只需关闭Adobe Acrobat应用程序即可。任务。

好大呀!对于塔斯克。是的,我知道我参加聚会有点晚了,但是哦:)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.