问题标签 [fast-app-switching]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
8118 浏览

iphone - UIApplication openURL 背景

在我的 iOS 4 应用程序中,我需要在用户指定的时间从后台打开一个 URL。但是,由于某种原因,我无法从后台启动 URL。这是我打开 URL 的代码:

该代码都是从之前创建的守护线程启动的。我已经在模拟器上测试了这段代码,并且没有打开 URL,并且该方法YES由于某种原因返回,但是当我再次打开我的应用程序(通过快速应用程序切换)时,它会打开 URL。有什么方法可以让我的应用程序在这一点上再次进入前台(不是通过本地通知),以便可以打开 URL,或者这是一个错误或未记录的功能。此外,如果有另一种打开 URL 的方法,它可以在后台运行,那也会很有帮助。

0 投票
4 回答
783 浏览

iphone - iPhone - 快速应用切换和 iOS 4

我试图在我的 iPhone 应用程序中获得以下功能:

  • 当后台运行时,保持运行(不需要做任何后台工作)
  • 恢复后,应用程序会从上次中断的地方继续

我主要希望我的应用程序上的同一个屏幕仍在运行,因为 UITabBarController 中有几个 UINavigationControllers。

我已经完成了以下所有操作:

  • 确保我使用 4.1 SDK 进行编译
  • 将 UIApplicationExitsOnSuspend 设置为 false
  • 在我的 AppDelegate 中处理 DidEnterBackground 和 WillEnterForeground
  • 在 DidEnterBackground 中调用 BeginBackgroundTask,以尝试保持我的应用程序打开

我正在使用 MonoTouch,但这可能不是重点。当然,我可以在 Obj-C 中得到答案。

我已经在带有 Backgrounder 的越狱手机上测试了我的应用程序,我看到“后台应用程序”徽章在按下主页按钮后立即消失。我还尝试在我的 Info.plist 中设置 UIBackgroundModes,但无济于事。

有什么我想念的吗?

或者这是我必须自己实现的东西才能恢复我的应用程序的先前状态?在我读过的任何地方,它都应该自动运行。

0 投票
1 回答
246 浏览

iphone - 快速应用切换,我需要什么?

我的应用程序在没有多任务支持的情况下运行良好。但是当我在 info.plist 中激活它时,每次我在 navigationController 上按一些东西并点击主页按钮时它都会崩溃,然后回到应用程序并再次使用 navigationController。错误消息对我也没有帮助。

当我只希望应用程序在后台什么都不做并返回时,我需要为我的应用程序中的多任务支持做些什么。

遗憾的是,自 Xcode 4.1 -_- 以来,仪器也无法正常工作。

控制台中的错误消息有时是:

有时它是一个 EXC_BAD_...在我创建开关的视图中???但前提是我之前点击了主页按钮!如果我只推视图然后返回。单击主页按钮。点击应用程序符号。然后尝试再次推送相同的视图它崩溃。但是当我推送视图时,返回并推送视图,它可以工作。当我在 SpringBoard 中(单击主页按钮)时,它只会崩溃。

编辑:

0 投票
1 回答
227 浏览

visual-studio-2010 - 如何在 Mango 中测试快速应用程序切换?

我想测试快速应用程序切换是否在 Mango 中起作用。我从 IDE 启动应用程序,它启动了模拟器。然后我离开应用程序(通过单击模拟器上的 Windows 按钮)。然后我从手机返回应用程序。

但是,IDE 失去了与模拟器的连接,我无法调试重新激活应用程序时发生的情况。

有没有办法做到这一点?

0 投票
2 回答
1439 浏览

ios - 尽管使用 Fast App Switcher 杀死了基于位置的应用程序,但状态栏中显示的灰色 GPS 箭头

我正在为 iOS 5 编写一个基于位置的应用程序。该应用程序正在使用CLLocationManager接收位置更新。

当应用程序启动时,我正在创建 LocationManager,调用[self.locationManager startUpdatingLocation];并且灰色的位置箭头出现在状态栏中。

当应用程序进入后台时,我正在调用

因为我只想在应用程序处于后台时接收重大的位置更改。灰色的位置箭头仍然显示。

我在调用的应用程序中也有一个退出按钮

当用户按下退出按钮时,应用程序完成,灰色的位置按钮从状态栏中消失。直到现在一切都很好。

当用户使用 Fast App Switcher 完成应用程序时,会出现一个问题,因为之后状态栏中仍然显示灰色的位置箭头,尽管应用程序没有运行。当用户从他的 iPhone 中删除应用程序时,灰色的位置箭头首先消失。

所以问题是:

  • 当用户使用 Fast App Switcher 完成应用程序并且状态栏中仍显示灰色箭头时,这是否意味着位置更新仍在执行,或者这是否意味着应用程序在过去 24 小时内使用了位置服务?我猜答案是第一个,位置更新仍在执行!

  • 应用程序需要在后台执行,所以当应用程序进入后台时我无法停止 LocationManager。applicationWillTerminate:当用户使用 Fast App Switcher 终止应用程序时,永远不会调用。当应用程序使用快速应用程序切换器终止或被操作系统终止时,有什么方法可以接收事件????

  • 我见过其他一些应用程序,当应用程序使用 Fast App Switcher 终止时,状态栏中的灰色箭头会消失。这些应用程序是如何实现这一点的???

0 投票
0 回答
107 浏览

windows-phone-7 - 在 WP7 中的 App-Switching/Tombstoning 期间 DataBindings 丢失

我已经设置了一个视图模型来将一个列表控件绑定到我的程序中的一个 ObservableCollection。页面上的 UI 控件向集合添加和删除对象,当列表自动更新时,它工作正常。

在 App-Switching 并返回应用程序后,按钮添加了对象,但绑定似乎丢失了。任何想法即使在返回后我也能保持这一点?我真的不认为需要重新绑定对象(在 XAML 中定义它之后)。有没有办法让这种模式万无一失?并确保在返回应用程序时绑定不会丢失?

XAML 看起来像这样,但它在 UserControl 内 - 忘了提

ItemsControl x:Name="PartyCollection" ItemTemplate="{StaticResource PartyCollectiontemplate}" ItemsSource="{Binding RoomParty, Source={StaticResource FormControlVM}}"

代码隐藏看起来像这样

0 投票
1 回答
398 浏览

ios - willEnterForeground 随机重启应用

我以为我的应用程序几乎可以发布了,但这件事让我抓狂了!

在我的 didEnterBackground 处理程序中,我保存了一些图像以缓存并转储我可能想到的所有内容,并且操作系统似乎随机转储我的应用程序并重新启动它。它似乎不是很一致。有时它会恢复正常,有时我会重新启动。根据 Allocations,我的 didEnterBackground 中的内存使用量降至 1 或 2 mb 左右。

通过转储所有内容,我的意思是我删除子视图,从数组中删除对象并将大量的东西设置为零......这意味着在我的 willEnterForeground 中我必须重新创建一堆东西。

我真的不知道还能做什么。

在这里的任何帮助将不胜感激。谢谢!

顺便说一句,这是在 iOS 5 中并使用 ARC。

0 投票
1 回答
131 浏览

wcf - WP7 和 WCF 服务:快速应用切换

我目前正在构建一个使用托管在 Web 服务器上的 WCF 数据服务的 WP7 应用程序。我想处理的是

如果我缺少 Internet 连接,则会触发服务异常。当我面临快速的应用程序切换时,它也会触发。我如何能够区分 ServiceException 的来源?

希望有人能给我一个想法......非常感谢!:)

0 投票
1 回答
366 浏览

objective-c - 当用户使用 Fast App Switcher 停止应用程序时停止 CLLocationManager

我正在开发一个使用 CLLocationManager 获取 GPS 数据的 iOS 应用程序。

当用户按下主页按钮然后使用快速应用程序切换器杀死应用程序时,停止 CLLocationManager 的正确方法是什么?

如何停止 CLLocationManager 然后停止轮询 GPS 数据?有谁知道实现这一目标的好方法,因为通常当用户杀死应用程序时我无法执行任何代码......

编辑: 当我将应用程序发送到后台时,它仍然应该得到显着的LocationChanges,所以当应用程序发送到后台时我无法停止 CLLocationManager!

0 投票
2 回答
1025 浏览

iphone - 如何判断离开iOS应用程序是从快速应用程序切换还是手动进入前台?

有没有办法判断 iOS 应用是从快速应用切换还是手动进入前台?我需要知道调用 applicationWillEnterForeground 的时间,因此可以根据应用程序进入前台的条件执行(或不执行)某些特定代码。

编辑:事实证明,这对我来说更像是一个设计问题。我将代码移至 applicationDidBecomeActive。我还向名为 fastAppSwitching 的 appDelegate 添加了一个 BOOL 属性(可能是错误的名称)。我在 application:handleOpenURL 和 application:openURL:sourceApplication:annotation 中将此设置为 YES。然后我将以下代码添加到应用程序:didFinishLaunchingWithOptions:

在 applicationDidBecomeActive 中,我使用了以下代码:

EDIT2:MaxGabriel 在下面提出了一个很好的观点:“只是对采用此处描述的解决方案的其他人的警告,applicationDidBecomeActive:当用户例如忽略电话或短信时调用,这与 applicationWillEnterForeground 不同”。这实际上也适用于应用内购买和 Facebook 应用内授权(iOS 6 中的新功能)。因此,通过一些进一步的测试,这是当前的解决方案:

添加一个名为passedThroughWillEnterForeground 的新Bool。

在应用程序WillResignActive 中:

在 applicationDidEnterBackground 中:

在应用程序WillEnterForeground:

在 applicationDidBecomeActive 中:

EDIT3:我认为我们还需要一个布尔值来判断应用程序是否是从终止状态启动的。