在我的应用程序中,如果我的应用程序中的某些内容,我希望应用程序在iPhone上按下中央黑色圆形按钮时应退出(不要进入后台)。
其次,如果应用程序位于某个东西的中间,如果调用到来,那么它应该从同一点开始。
我该怎么做?
答案 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就会执行