1

我正在尝试使用 Hyperloop 来使用isCurrentActivityInForeground里面的方法org.appcelerator.titanium.TiApplication

https://github.com/appcelerator/titanium_mobile/blob/master/android/titanium/src/java/org/appcelerator/titanium/TiApplication.java

我尝试了以下方法和其他一些方法,但我无法要求上课 - 有什么建议吗?

var TiApplicationClass = require('org.appcelerator.titanium.TiApplication');
var TiApplication = new TiApplicationClass;
var isInForeground = TiApplication.isCurrentActivityInForeground();

Ti.API.log("isInForeground");
Ti.API.log(isInForeground);

PS。我曾多次在松弛频道中询问但没有帮助

4

2 回答 2

1

我认为benCoding.Android.Tools模块是你需要的:https ://github.com/benbahrenburg/benCoding.Android.Tools

if (OS_ANDROID) {
    var platformTools = require('bencoding.android.tools').createPlatform(),
        wasInForeGround = true;

    setInterval(function() {
        var isInForeground = platformTools.isInForeground();

        if (wasInForeGround !== isInForeground) {
            Ti.App.fireEvent(isInForeground ? 'resumed' : 'paused');

            wasInForeGround = isInForeground;
        }
    }, 3000);
}

示例代码归功于 Fokke Zandbergen:http ://www.tidev.io/2014/01/28/paused-resumed-events-on-android/

于 2018-05-09T10:31:44.287 回答
1

到目前为止,无法通过 Hyperloop 访问内部 SDK 类。但我喜欢这个主意!您可以在Appcelerator JIRA中创建一个票证以便安排它吗?

于 2018-05-10T13:57:18.213 回答