我有一个带有几个"正常"活动的应用程序,可以在横向或纵向上运行.它们专为肖像而设计.
这个应用程序有一个单独的活动,使用相机,并锁定在景观.我通过将图像和文本旋转90度来模拟'此活动是在肖像上,所以它看起来像其他活动.
在某些设备上,例如Samsung Galaxy Tab 7和Galaxy S3,从正常的纵向活动到相机横向活动并返回时,会显示旋转动画.这对用户来说很困惑,因为景观活动模拟了肖像.
有没有办法删除这个旋转动画?理想情况下,我想更改为默认的纵向到纵向动画,但只是删除旋转动画就足够了.
我试过了
overridePendingTransition(0, 0);
Run Code Online (Sandbox Code Playgroud)
该方法的其他变体没有成功.
[添加]
根据@igalarzab,@ Georg和@Joe的建议,我做到了这一点(仍然没有运气):
我有这些结果:
[视频]
我上传了一个显示我要禁用的动画的视频.当在肖像上按住手机时从相机活动(锁定到风景)更改为其他活动时会发生这种情况:
我的应用程序在Google Play上获得了数百万次下载.但是,几乎50%的用户已经卸载了它.
我不认为这是一个关键数字,但我想找出用户卸载它的原因,所以我想用一个简单的表单向用户询问,当然只对想要回答的用户提问.
现在问题是何时显示可选表单.我已经看到我无法使用ACTION_PACKAGE_REMOVED,因为正在卸载的应用程序将无法接收该广播.
当然我不想禁止用户卸载我的应用程序,但我确实想知道何时启动我的可选表单.你能想到如何做到这一点吗?
此外,我已经看到Google Play询问用户他为什么要卸载任何应用并提供一些选项(缺少空间,不需要它,......).对于我的应用,有没有办法从Google获得这些回复?
如果你能给我任何其他想法如何调查用户卸载我的应用程序的主要原因,为了改进它,我真的很感激.
我的应用需要相机才能工作.但是,无论是后置摄像头还是前置摄像头都没关系.
现在,我在我的清单中有这个:
<uses-feature android:name="android.hardware.camera"/>
Run Code Online (Sandbox Code Playgroud)
要求正面相机,我知道我也可以添加这个:
<uses-feature android:name="android.hardware.camera.front"/>
Run Code Online (Sandbox Code Playgroud)
但是我想支持所有拥有相机的设备.反正有没有这样做?
例如,我想支持只有正面相机的Nexus 7.但我也想支持仅配备后置摄像头的设备.
根据我所做的一些研究,例如:
http://code.google.com/p/android/issues/detail?id=35166
看来这是不可能的.
我认为解决这个问题的一种方法是制作2个单独的APK,一个使用android.hardware.camera,另一个使用android.hardware.camera.front并使用其多个APK支持将两者都上传到Google Play .不过,我还没有测试过.
有没有人找到一种推荐的方式来支持所有带有前置摄像头,后置摄像头或两者的设备,但不支持没有任何摄像头的设备?
我在我的应用中添加了2个小部件.但是,如果用户在某些Android版本上将应用程序移动到SD卡,则小部件将无法使用.
作为解决方案,我创建了一个仅包含小部件的新小应用程序.因此,用户可以将主应用程序移动到SD卡并在内部存储中使用Widgets应用程序,以便能够使用小部件.除了2个主要小部件,Widgets应用程序还有2个小部件(总共4个).这两个额外的小部件是一种beta小部件.如果我看到一个Widget被大量使用,我会改进它并移动它的主程序包.
当用户没有将主应用程序移动到SD卡(或者具有允许从SD卡使用小部件的Android版本)并且用户安装Widgets应用程序以访问那些额外的小部件时,会出现问题.在这种情况下,用户将获得两个主要小部件两次:一次来自主应用程序,另一次来自小部件应用程序.
如果我检测到Widgets应用程序也已安装,我想要做的是从主应用程序中禁用这两个小部件.这是为了避免重复这两个小部件.
如果安装了Widgets应用程序,我知道如何从主应用程序检查.我只是不知道如何以编程方式禁用Widget.那可能吗?