小编Mik*_*ale的帖子

Android权限:电话:读取电话状态和身份

我的Android应用程序与电话无关,但我看到当我在我的测试设备上安装调试版本时,它需要"电话呼叫:读取电话状态和身份"权限.(我没有提到这一点AndroidManifest.xml).

我想拥有最低限度的权限,并想知道是否有人知道如何摆脱这个?我注释掉了,我是从记录一些东西的一部分Build.MODEL,Build.VERSION.*等我也注释掉我在那里检测横向/纵向方向想,这可能是"手机状态"的部分.但这些似乎都没有删除所需的许可.

我发现了这个错误报告:http://code.google.com/p/android/issues/detail?id = 4101, 但它标记为工作原样,并附有关于权限从市场上正确但不是正确的说明.这是其他人的经历吗?(我不想只是为了测试它而向市场发布.)否则,是否有人知道是否有一个API我可以避免调用它会使我的应用程序不需要此权限?

谢谢!

android

69
推荐指数
2
解决办法
6万
查看次数

调用popViewControllerAnimated两次

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,或者完全不同的话,我会乐意改变它.

iphone uinavigationcontroller

26
推荐指数
2
解决办法
2万
查看次数

日期时区调整

我的数据库位于加利福尼亚州.我的用户表包含所有用户的时区,例如-0700 UTC

每当我向居住在纽约的用户显示日期时,如何从数据库服务器调整时间?UTC/GMT -4小时

c# date

8
推荐指数
1
解决办法
3402
查看次数

UIViewController方向在UINavigationController堆栈中发生变化

我有一个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中的某些内容.我应该只是设计我的视图,使他们在方向改变时不需要移动按钮吗?

谢谢!

iphone

6
推荐指数
1
解决办法
3212
查看次数

标签 统计

iphone ×2

android ×1

c# ×1

date ×1

uinavigationcontroller ×1