小编van*_*dzi的帖子

accountmanager刷新令牌(离线访问)

我在我的Android应用程序中通过帐户管理器使用谷歌登录.我可以获得accessstoken,我发送到服务器和服务器可以创建/登录新用户.Accesstoken仅有效3600秒.问题是服务器在此时间到期后无法更新用户的信息.Web应用程序需要定期检查用户的信息.

如何从android客户经理获取身份验证令牌和刷新令牌,以便服务器可以使用刷新令牌定期更新数据?我不想在Android应用程序中通过webview登录.

谢谢

android oauth-2.0 google-plus google-oauth

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

即使在startForground中音乐服务也被杀死了

是否有可能阻止服务(startForground)被os杀死?我用它来播放音频,但是当我使用另一个需要更多资源(愤怒的小鸟去)的应用程序时它会被杀死.在日志中,我看到应用程序进程被ActivityManager杀死.我还复制了其他一些音频应用程序.只有未被杀的应用程序才是Play Music应用程序.它被复制在三星s3 android 4.3上.

android android-service android-music-player

5
推荐指数
1
解决办法
489
查看次数

如何在 iOS 中收听 Google Cast 的进度

如何在 iOS 中收听 Google Cast 的进度?我已经基于https://github.com/googlecast/CastVideos-ios在我的应用程序中实现了投射支持,但我不想使用他们的 GCUIExpandedMediaControlsViewController 类来控制播放。

我将 GCKRemoteMediaClientListener 添加到 GCKCastSession 的 GCKRemoteMediaClient。它调用

public func remoteMediaClient(_ client: GCKRemoteMediaClient, didUpdate mediaStatus: GCKMediaStatus?) {
        print("position: \(mediaStatus?.streamPosition)")
    }
Run Code Online (Sandbox Code Playgroud)

但它每 10 秒调用一次,我希望每秒都能取得进展。有什么方法可以做到吗?或者我必须实现自己的计时器并每秒检查当前的流位置?

谢谢

ios google-cast swift google-cast-sdk

5
推荐指数
1
解决办法
815
查看次数

iPhone XR,XS Max上的modalPresentationStyle formSheet问题

我正在使用modalPresentationStyle = .formSheet显示模式UIViewController,但是在iPhone XR和XS Max上存在一些问题。显示在缺口的后面。左侧iPhone XR,XS,X的图像波纹管

在此处输入图片说明

UIViewController使用自动布局,并且显示如下:

let contentViewController = UINib(nibName: "EditViewController", bundle: nil).instantiate(withOwner: nil, options: nil)[0] as! EditViewController

let navController = UINavigationController(rootViewController: contentViewController)

navController.modalPresentationStyle = UIModalPresentationStyle.formSheet
let popover = navController.presentationController!
popover.delegate = self

self.present(navController, animated: true, completion: nil)
Run Code Online (Sandbox Code Playgroud)

代表:

extension MyController: UIAdaptivePresentationControllerDelegate {

    func adaptivePresentationStyle(for controller: UIPresentationController, traitCollection: UITraitCollection) -> UIModalPresentationStyle {
        return .none
    }
}
Run Code Online (Sandbox Code Playgroud)

modalPresentationStyle = .pageSheet也存在相同的问题。它可以与其他modalPresentationStyles(即全屏)一起使用

在iOS 12.1和Swift 3上

任何想法如何解决这个问题?谢谢

ios ios-autolayout

5
推荐指数
1
解决办法
603
查看次数

iOS 12.2-缺少锁屏控件

自从我更新到ios 12.2后,锁屏控件停止为我工作,我不知道为什么。在ios 12.1中工作正常

  1. 应用已启用 capabilities->Background mores -> Audio
  2. 我设置 UIApplication.shared.beginReceivingRemoteControlEvents()
  3. 然后我设定

    MPRemoteCommandCenter.shared().playCommand.isEnabled = true                   
    MPRemoteCommandCenter.shared().pauseCommand.isEnabled = true
    MPRemoteCommandCenter.shared().playCommand.addTarget(self, action:#selector(self.playPlayer))
    MPRemoteCommandCenter.shared().pauseCommand.addTarget(self, action: #selector(self.pausePlayer))
    
    Run Code Online (Sandbox Code Playgroud)
  4. 然后 AVAudioSession.sharedInstance().setCategory(AVAudioSession.Category.playback) and AVAudioSession.sharedInstance().setActive(true)

我使用AVPlayerAVPlayer项目。Locksceen控件永远不会在ios 12.2上显示。任何想法都可能导致此问题吗?谢谢

(我使用xcode 10.2和swift 4.2)

编辑:我能够弄清楚,只有在设备在线时才会发生这种情况。如果我立即播放,则会出现锁屏控件,然后在几秒钟内消失。如果稍后播放,它们将不会出现。因此,似乎他们在应用启动后几秒钟就可以正常工作,然后

编辑2:现在修复。问题是由应用程序将本地html文件加载到webview中引起的。完全与播放无关,仅此而已。解决方法是不加载webview

avfoundation lockscreen ios avplayer

5
推荐指数
1
解决办法
336
查看次数

Androidx最小sdk

androidx min sdk是什么?我刚刚迁移到 androidx,我需要支持 minsdk 14。但是我的构建失败,表明 androidx.browser:browser:1.0.0 有 minsdk 15。我在发行说明或其他任何地方都找不到它

android androidx

5
推荐指数
1
解决办法
6141
查看次数

UIViewController userInterfaceStyle 总是很轻

当启用暗模式时,UIViewControllers 总是使用亮模式。viewController.traitCollection.userInterfaceStyle 总是 Light 但 window.traitCollection.userInterfaceStyle 是 Dark。

UIUserInterfaceStyle 未在 plist 中设置。我尝试了所有可能的设置 - 将 UIUserInterfaceStyle 添加到 plist,为 UIWindow 和 UIViewController 设置 overrideUserInterfaceStyle。我为不同的情况记录了 userInterfaceStyle,结果是

TestDarkModeViewController *testController = [[TestDarkModeViewController alloc] initWithNibName:@"TestDarkModeViewController" bundle: nil];
testController.traitCollection.userInterfaceStyle //result Light
Run Code Online (Sandbox Code Playgroud)

但对于

UINavigationController *navController = [[UINavigationController alloc]initWithRootViewController:testController];
navController.traitCollection.userInterfaceStyle //result Dark

UIViewController *testController2 = [[UIViewController alloc]init];
testController2.traitCollection.userInterfaceStyle //result Dark
Run Code Online (Sandbox Code Playgroud)

似乎只有当控制器以编程方式从 xib 文件加载时才会发生。知道什么是错误的以及如何解决这个问题吗?

ios ios-darkmode

5
推荐指数
1
解决办法
132
查看次数

索引字母的字符串资源

我没有找到它,所以我问.如何用上层索引编写字符串?优秀的资源.例如,我想把平方米写成m2,其中2是上索引.

谢谢

android

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

如何将具有动态高度的 xib 子视图添加到 UIView

这应该很容易做到,而且在 android(使用 LinearLayout)中也很容易,但我不知道如何在 ios 中做到这一点。

我有 UIView,我想在其中添加一些动态高度子视图。子视图从 xib 文件加载并包含 2 个具有动态高度的 UILabels。

class Subview: UIView {

    @IBOutlet var contentView: UIView!

    @IBOutlet weak var title: UILabel!
    @IBOutlet weak var desc: UILabel!


    override init(frame: CGRect) {
        super.init(frame: frame)
        self.commonInit()
    }

    required init?(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
        self.commonInit()
    }

    fileprivate func commonInit() {
        Bundle.main.loadNibNamed("Subview", owner: self, options: nil)
        addSubview(contentView)
        self.contentView.frame = self.bounds
        self.contentView.autoresizingMask = [.flexibleWidth, .flexibleHeight]
    }

}
Run Code Online (Sandbox Code Playgroud)

和子视图是这样添加的

var containerView: UIView

func setupView() {

    let subview1 = Subview()
    subview1.title = "Some …
Run Code Online (Sandbox Code Playgroud)

xib uiview ios swift ios-autolayout

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