- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我知道这是可能的,因为 Tapbots Pastebot 就是这样做的。我试图在我的 iPhone 应用程序在后台运行时抓取 UIPasteboard 并将其添加到 UITableView 中,就像 Pastebot 所做的那样,但我也尝试缩短链接(如果它是 URL)并将其复制回 UIPastboard 以便准备就绪供用户粘贴到任何地方。现在,Pastebot 显然在后台运行,播放音频文件 10 分钟。我已经在 applicationDidFinishLaunching 中设置了 NSNotificationCenter
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(pasteboardChangedNotification:) name:UIPasteboardChangedNotification object:[UIPasteboard generalPasteboard]];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(pasteboardChangedNotification:) name:UIPasteboardRemovedNotification object:[UIPasteboard generalPasteboard]];
- (void)pasteboardChangedNotification:(NSNotification*)notification {
pasteboardChangeCount_ = [UIPasteboard generalPasteboard].changeCount;
}
- (void)applicationDidBecomeActive:(UIApplication *)application
{
if (pasteboardChangeCount_ != [UIPasteboard generalPasteboard].changeCount) {
[[NSNotificationCenter defaultCenter] postNotificationName:UIPasteboardChangedNotification object:[UIPasteboard generalPasteboard]];
}
}
任何人都可以指导我获取 UIPasteboard 并缩短链接(如果它是 URL)并将其发送回 UIPasteboard 吗?我已阅读多任务开发文档和 UIPasteboard 文档。如果有人有解决方案可以分享给我吗?
谢谢
最佳答案
我成功实现类似目标的唯一方法是不打扰 NSNotificationCenter
,而是在后台定期复制 UIPasteboard
的内容.
下面的代码每秒检查一次UIPasteboard
,持续一千秒。我相信应用程序可以在后台运行大约 10 分钟而不播放音频。如果您在后台播放音频文件,应用程序可以继续运行。
- (void)applicationDidEnterBackground:(UIApplication *)application
{
// Create a background task identifier
__block UIBackgroundTaskIdentifier task;
task = [application beginBackgroundTaskWithExpirationHandler:^{
NSLog(@"System terminated background task early");
[application endBackgroundTask:task];
}];
// If the system refuses to allow the task return
if (task == UIBackgroundTaskInvalid)
{
NSLog(@"System refuses to allow background task");
return;
}
// Do the task
dispatch_async(dispatch_get_global_queue(0, 0), ^{
NSString *pastboardContents = nil;
for (int i = 0; i < 1000; i++)
{
if (![pastboardContents isEqualToString:[UIPasteboard generalPasteboard].string])
{
pastboardContents = [UIPasteboard generalPasteboard].string;
NSLog(@"Pasteboard Contents: %@", pastboardContents);
}
// Wait some time before going to the beginning of the loop
[NSThread sleepForTimeInterval:1];
}
// End the task
[application endBackgroundTask:task];
});
}
关于iphone - 在后台运行时像 Pastebot 一样抓取 UIPasteboard,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5721733/
我想将图像和文本(两者)复制到 UIPasteBoard。是否可以同时复制文本和图像。 这里我可以仅复制图像或仅复制文本。如何复制两者? 我的复制图像代码如下, UIPasteboard *paste
如何将图像复制到 UIPasteboard? 我只看到过文本示例。 最佳答案 如果你看Apple's Documentation for UIPasteboard ,您看到可以使用 'setImage
我正在开发一个应用程序,其中一个模块是一个简单的列表 TableView,显示音频文件列表。当用户选择任何音频文件时,操作表会附带选项 SMS 之一。我需要通过短信发送特定的音频文件。请让我知道如何处
如果 UIPasteboard 对象设置为“持久”,则 UIPasteboard 的项目似乎存储在数据库或类似的东西中。那么有什么提示可以让我找到数据在系统中的存储位置吗? 越狱。 提前致谢。 最佳答
我有两个应用程序,它们使用各种 UIPasteboard 名称作为彼此共享数据的方案。 粘贴板使用反向 DNS 命名约定,如下所示:com.mycompany.myapp.stuffx, com.my
我正在开发一个应用程序,我必须在其中将照片和文本共享到 Facebook 和 FBMessenger,为此我正在使用 FBSDKShareKit Framework。不能同时分享文字和照片,所以我将文
我在几个 UIPasteboard 对象中看到很多泄漏。直到今天,我才听说过这个类,而且(显然)我自己也没有在程序中使用过。这是一个屏幕截图: 我能做些什么来消除这些泄漏?我是否正确看待这个问题? 最
是否可以不进入应用直接复制快捷项的值?我想做一些类似于 Apple 的计算器应用程序的事情: 最佳答案 目前这是不可能的,否则用户将无法弄清楚是否发生了什么。 对于计算器应用程序,当您点击复制结果时,
我有一个字符串要放入 UIPasteboard 中,它应该在 2 分钟后过期 UIPasteboard.general.setObjects(objects: [NSItemProviderWriti
应用特定的 UIPasteboard 的内容物理存储在设备上的什么地方? 这是 iTunes 备份设备时备份的东西吗? 那么,就安全性而言,是否需要对发送到 UIPasteboard 的数据进行加密?
我正在尝试创建特定于应用程序的 UIPasteboard,但在弄清楚如何注册它时遇到了一些问题: UIPasteboard *pasteboard = [UIPasteboard pasteboard
假设在 UIPasteBoard 上复制了 3 个字符串: UIPasteboard.generalPasteboard().string="hello" UIPasteboard.generalPa
是否可以使用命名的 UIPasteboard(即不是全局的)在两个应用程序之间传输数据? 应用程序彼此完全独立,因此具有来自不同供应商的不同包 ID 我想使用命名粘贴板,这样用户自己在全局粘贴板中的内
我已成功使用以下代码将图像复制或添加到粘贴板: if (ver_float < 6.0) { UIPasteboard *pasteboard; pasteboard = [UIPas
UIPasteboard 线程安全吗? 我正在尝试做这样的事情 dispatch_async(dispatch_get_global_queue(0, 0), ^{ UIPasteboard
我已经将多个字符串放入 UIPasteboard,但是在 UITextField 上粘贴时,它只粘贴第一个字符串,任何人都可以告诉我如何粘贴所有其他字符串 我正在处理第一个应用程序并粘贴到其他应用程序
我正在开发一个使用自定义粘贴板来保存信息的应用程序。我尝试将操作系统从 iOS 6 升级到 iOS 6.1.4(通过无线方式)并且一切都很好,但是当升级到 iOS 7 beta 1(使用 iTunes
在这里,我的要求是在将 UIPasteboard 项目粘贴到其他应用程序后将其删除。 我如何将字符串复制到 UIPasteboard 是 UIPasteboard *pb = [UIPasteboar
一种对象,可帮助用户在应用内从一个位置共享数据到另一个位置,以及从您的应用共享数据到其他应用。 这是写在 UIPasteboard 文档开头的语句。但是当我尝试在两个不同的应用程序中使用它来访问其他应
我已经使用剪贴板从UIwebView复制了图像,我想邮寄它。为此,我使用通用粘贴板来获取数据,但是检索数据时出现问题。当我检查粘贴板时当前数据,它说它有Apple Web Archive粘贴板类型数据
我是一名优秀的程序员,十分优秀!