通过电子邮件附件打开应用程序时,多个实例似乎打开你怎么做的?

时间:2015-09-23 15:16:36

标签: javascript android android-intent android-activity titanium

应该发生什么: 1.)接收带有扩展名“.custom”的自定义文件的电子邮件 2.)单击文件并选择“使用CustomApp打开” 3.)应用程序读取文件并将数据存储在某处 4.)理想情况下,用户可以继续正常使用该应用程序

我设法设置自定义过滤器:

<activity android:name=".CustomappActivity" android:label="@string/app_name">
  <intent-filter>
    <action android:name="android.intent.action.MAIN"/>
    <category android:name="android.intent.category.LAUNCHER"/>
  </intent-filter>
  <intent-filter>
    <action android:name="android.intent.action.VIEW"/>
    <category android:name="android.intent.category.DEFAULT"/>
    <data android:scheme="content" android:pathPattern=".*\\.custom" android:mimeType="*/*"/>
  </intent-filter>
</activity>

当我在CustomApp中打开.custom文件时会发生什么? 在我看来,无论应用程序当前是否在后台运行,都会启动新的CustomappActivity。但是,这两个活动似乎共享命名空间或其他东西,因为新启动的活动无法启动和运行WebView UI。所以这似乎让我无处可去。

我现在所做的是在正确启动应用程序之前实施“检查意图”。如果它是以意图启动的,我只将.custom文件的数据存储在App.Properties中,然后尝试关闭当前运行的应用程序实例(通过Ti.Android.currentActivity.finish())。 然而,Activity(或其他东西)似乎仍在运行,因为当我打开应用程序备份时(即使它在我执行其他操作时正在运行,一旦我在任务管理器中选择它,它从头开始)只有坏事发生: 从WebView到应用程序的每次调用(反之亦然)都会多次调用(取决于在第一次打开.custom文件后应用程序的启动频率)。这显然使应用程序无法使用,因为没有任何作用。

甚至在任务管理器中杀死应用程序并不总是重置所有内容,因此只能进行一次调用。

谁能猜出这里有什么?

或者甚至更好地给我指导如何正确实施用例? 虽然我不完全理解整个活动的复杂性以及它与appcelerator的交互方式,但我认为如果我不打算使用intent来调用我的主启动器活动,而另一个自定义活动只负责从中导入数据,这可能不会发生。 .custom文件,没有别的。但是如何用钛创建自定义活动呢?

感谢您在正确的方向上提供任何帮助或推动!

0 个答案:

没有答案