Android 钛合金安卓系统:处理发送意图保持超时

Android 钛合金安卓系统:处理发送意图保持超时,android,android-intent,titanium,Android,Android Intent,Titanium,我是android开发的新手——正在开发我的第一款android应用程序,使用钛合金 我遇到了一个问题,我的应用程序总是超时,但我不知道为什么。我有一种感觉,在我对Tianium和android如何工作的方法/理解中,有一些根本性的错误,但我还没有弄明白 我的应用程序本质上是一个书签工具,类似于DeliciousforAndroid。它: 钩住发送意图,从其他应用捕获共享意图 从发送意图中获取主题和文本,并进行一些处理以解析出URL和标题 将这些数据传递到网页 代码如下: 在/platform/

我是android开发的新手——正在开发我的第一款android应用程序,使用钛合金

我遇到了一个问题,我的应用程序总是超时,但我不知道为什么。我有一种感觉,在我对Tianium和android如何工作的方法/理解中,有一些根本性的错误,但我还没有弄明白

我的应用程序本质上是一个书签工具,类似于DeliciousforAndroid。它:

钩住发送意图,从其他应用捕获共享意图 从发送意图中获取主题和文本,并进行一些处理以解析出URL和标题 将这些数据传递到网页 代码如下:

在/platform/android/AndroidManifest.xml中,我添加了一个意图过滤器来捕获发送操作:

<activity android:name=".Advocateio2Activity"
    android:label="Advocate.io"
android:configChanges="keyboardHidden|orientation">
<intent-filter>
    <action android:name="android.intent.action.SEND" />
    <category android:name="android.intent.category.DEFAULT" />
    <data android:mimeType="text/plain" />
</intent-filter>
</activity>
这基本上就是整个应用程序。非常简单的想法

当我直接通过Titanium Studio进行调试和安装时,它工作正常,但当我发布到Play Store时,应用程序每次都会崩溃

在我从“共享”菜单中选择了我的应用程序后,当处理发送意图时,应用程序将挂起-只是传递了一个黑屏。如果我运行调试会话,我会看到ActivityRecord发生活动空闲超时,但我不确定原因

我的猜测是,我只是不知道android应用程序中的流是如何工作的,我正在泄漏内存,产生无限循环,或者没有正确管理我的应用程序视图/窗口

无论如何,我完全被卡住了——我已经调试了一个多星期了,无法得到一致的结果

任何帮助都将不胜感激


谢谢

您的应用程序是否可能正在寻找主要目的而没有找到?像这样的东西也许我会试试-谢谢!!不幸的是,这并没有达到目的,但谢谢你的帮助!
(function() {
    var baseUrl = "http://mydomain.com/bookmarklet";
    var intent = Ti.Android.currentActivity.getIntent();

    var win = Ti.UI.createWindow({
        backgroundColor: '#000',
        fullscreen: false,
        exitOnClose: true,
        layout: "vertical"
    });

    if (intent.hasExtra(Ti.Android.EXTRA_TEXT)) {
        win.open();
        var title = intent.getStringExtra(Ti.Android.EXTRA_SUBJECT);
        var body = intent.getStringExtra(Ti.Android.EXTRA_TEXT).replace(/\n/g, " ");
        var parts = body.split(" ");

        for (var i=0; i<parts.length; i++) {
            if (parts[i].search(/htt*/) == 0) {
                // this is a URL
                var url = parts[i];
                var bookmarklet_url = baseUrl + '?url=' + encodeURIComponent(url) + '&title=' + encodeURIComponent(title) + '&mobile=1';
            }
        }
        if (bookmarklet_url) {
            Ti.Platform.openURL(bookmarklet_url);   
        }
        win.close();
    }   

})();