我的Android应用程序与电话无关,但我看到当我在我的测试设备上安装调试版本时,它需要"电话呼叫:读取电话状态和身份"权限.(我没有提到这一点AndroidManifest.xml).
我想拥有最低限度的权限,并想知道是否有人知道如何摆脱这个?我注释掉了,我是从记录一些东西的一部分Build.MODEL,Build.VERSION.*等我也注释掉我在那里检测横向/纵向方向想,这可能是"手机状态"的部分.但这些似乎都没有删除所需的许可.
我发现了这个错误报告:http://code.google.com/p/android/issues/detail?id = 4101, 但它标记为工作原样,并附有关于权限从市场上正确但不是正确的说明.这是其他人的经历吗?(我不想只是为了测试它而向市场发布.)否则,是否有人知道是否有一个API我可以避免调用它会使我的应用程序不需要此权限?
谢谢!
我UINavigationController有一系列的UIViewControllers关于它.在某些情况下,我想要回弹两个级别.我以为我可以popViewControllerAnimated连续两次调用它,但事实证明,第二次调用它时,它不会弹出任何东西而是返回NULL.我是否需要存储对目标VC的引用并调用popToViewControllerAnimated?我可以这样做,但它使我的代码变得复杂,因为UIViewController当我将VC推入堆栈时我必须传递*.
这是相关的片段:
UIViewController* one = [self.navigationController popViewControllerAnimated:YES];
if (...) {
// pop twice if we were doing XYZ
UIViewController *two = [self.navigationController popViewControllerAnimated:YES];
// stored in "one" and "two" for debugging, "two" is always 0 here.
}
Run Code Online (Sandbox Code Playgroud)
我在做一些奇怪的事吗?我想写一些惯用的代码,所以如果"正确"的方式是打电话popToViewControllerAnimated,或者完全不同的话,我会乐意改变它.
我的数据库位于加利福尼亚州.我的用户表包含所有用户的时区,例如-0700 UTC
每当我向居住在纽约的用户显示日期时,如何从数据库服务器调整时间?UTC/GMT -4小时
我有一个UINavigationController,上面有两个UIViewControllers(A和B).从A,我把B推到堆栈上.然后用户重新定位设备.我需要在屏幕上移动一些东西(按钮等),以便在A上的新方向上可见.
我发现-shouldAutorotateToInterfaceOrientation在A和B上被调用(并返回YES).但是-will/-didRotateFromInterfaceOrientation只能在可见的ViewController(B)上调用.当B从堆栈中弹出时,A以新的(正确的)方向显示,但没有根据需要移动按钮.
为了解决这个问题,我发现自己实现了以下模式:
在头文件中:
@interface A : UIViewController {
// ...
UIInterfaceOrientation layoutOrientation;
}
// ...
- (void)orientationChanged;
@end
Run Code Online (Sandbox Code Playgroud)
在.m文件中:
- (void)viewDidLoad {
// ...
layoutOrientation = self.interfaceOrientation;
}
- (void)viewWillAppear:(BOOL)animated {
// ...
if (layoutOrientation != self.interfaceOrientation) {
[self orientationChanged];
}
}
- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
[self orientationChanged];
}
- (void)orientationChanged {
// move my buttons
layoutOrientation = self.interfaceOrientation;
}
Run Code Online (Sandbox Code Playgroud)
基本上,我正在检查-viewWillAppear中的方向是否发生了变化,并在需要时进行更新UI的工作.它运行得很好,但这看起来很乏味,而且(b)我的各种类中有很多重复的代码,例如A.我可以通过将代码移动到一个共同的超类来修复(b),但这似乎仍然是我不应该这样做.
有没有更好的方法在导航堆栈上不是最顶层的视图上移动我的按钮?我的观点来自.xibs,如果我需要检查IB中的某些内容.我应该只是设计我的视图,使他们在方向改变时不需要移动按钮吗?
谢谢!