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