iPhone应用程序启动问题

时间:2011-09-14 11:21:07

标签: iphone

在我的应用程序中,如果我的应用程序中的某些内容,我希望应用程序在iPhone上按下中央黑色圆形按钮时应退出(不要进入后台)。

其次,如果应用程序位于某个东西的中间,如果调用到来,那么它应该从同一点开始。

我该怎么做?

5 个答案:

答案 0 :(得分:1)

如果你需要的是你的应用程序开始按iPhone上的主页按钮,那么它是不可能的。 iPhone有一个按钮,用于特定目的。您无法覆盖按钮操作以启动您的应用。即使你找到了一些巧妙的方法,Apple肯定不会批准它。

答案 1 :(得分:1)

在AppDelegate中

- (void)applicationDidEnterBackground:(UIApplication *)application {
        exit(0);
        }

答案 2 :(得分:1)

你的问题根本不清楚。如果您要做的是根据您上次关闭它的状态加载应用程序(无论是按主页按钮还是通过呼叫中断)。您的应用程序将在通话后自然地回到iOS 4中的常规状态,或者如果它未从多功能栏关闭。但是,如果您想强制您的应用从任何发布开始,从您通过电话回来时可能会有所帮助:

您可以使用CTCallCenter确定应用程序打开时是否有来电。见this answer

使用委托方法applicationDidEnterBackground:,您可以检查是否有来电,然后决定是否要关闭您的应用。

修改

我不确定这会有效,因为我不在我的电脑上,但试一试。在applicationDidEnterBackground方法中插入以下代码:

CTCallCenter *callCenter = [[CTCallCenter alloc] init];

if ([callCenter.currentCalls count] == 0)
    exit(0);

您需要将CoreTelephony框架添加到项目和delegate.h文件中。

希望这有帮助

答案 3 :(得分:1)

在info.plist中添加 UIApplicationExitsOnSuspend

  

<强> UIApplicationExitsOnSuspend

     

UIApplicationExitsOnSuspend(Boolean - iOS)指定了   应该终止应用程序而不是移动到后台   什么时候退出。与iOS SDK 4.0或更高版本链接的应用程序可以   包括此键并将其值设置为YES以防止存在   自动选择后台执行和应用程序   悬挂。当该键的值为YES时,应用程序为   终止并从内存中清除而不是移动到后台。   如果此键不存在,或者设置为NO,则应用程序将移至   像往常一样背景。

     

iOS 4.0及更高版本支持此密钥。

答案 4 :(得分:0)

你提到的第一个不清楚。你真的需要什么? 第二个可以通过缓存上次访问的页面来完成,然后在applicationDidBecomeActive时导航到或放置该页面。只要ypur应用程序变为活动状态,appDelegate中的applicationDidBecomeActive就会执行