【问题标题】:Restart android service after app was killed应用程序被杀死后重新启动android服务
【发布时间】:2018-08-28 16:21:10
【问题描述】:

请,我更新了这篇文章,以便更好地理解我的问题。 我在我的应用程序中使用 Android 服务来启动本地通知,正如 Appcelerator Wiki 上的 here 所述。服务按预期运行,但如果应用程序从最近的应用程序托盘中删除或设备重新启动,服务将停止。

我希望在应用程序被终止后服务仍在运行,或者在重启设备后重启服务。我如何使用经典的 Titanium 来做到这一点。

在我的应用程序的 iOS 版本中,我使用 Ti.App.iOS.scheduleLocalNotification 并且运行良好,即使在关闭和打开设备之后也是如此。我希望在 Android 上也能以同样的方式工作。

感谢您的帮助。

(对不起我的英语不好)

【问题讨论】:

  • 您是否希望有一个应用程序会一次又一次地重新启动其服务,即使您明确杀死了该恶意应用程序?我不会
  • 如果用户在 Android 上使用 whatsapp 并且需要重新启动他们的设备,则 WA 通知服务会重新启动,而无需用户打开应用程序。我的应用类似,即即使用户重新启动设备,通知也应该继续发出,除非他们打开应用并调整服务以不再确认通知。
  • 不,他们不使用“始终准备好/启动/重新启动的服务” - 他们使用 FCM 来解决这个问题
  • 谢谢你,@pskink !!! FCM 是这里某些情况的解决方案。很好。但是我上面的例子并不好。对不起!在我的具体情况下,我需要从this 等服务启动本地通知,当用户打开设备电源时,我需要重新启动服务。
  • 拜托,@pskink,我更改了文本以更好地解释我的问题。谢谢。

标签: android service titanium appcelerator


【解决方案1】:

看看这两个模块:

您可以使用 BootReceiver 在启动时重新启动,AlarmManager 应该会帮助提供服务。

【讨论】:

【解决方案2】:

我知道这很旧,但您的问题出在 tiapp.xml 中,您应该使用您的应用活动名称,而不是“.BootCompletedActivity”,例如如果您的应用是我的测试应用,则活动名称应为“.MyTestAppActivity”

<activity android:alwaysRetainTaskState="true"
                    android:configChanges="keyboardHidden|orientation"
                    android:label="BootCompleted"
                    android:launchMode="singleTop"
                    android:name=".BootCompletedActivity"
                    android:persistent="true" android:theme="@style/Theme.Titanium">
                    <intent-filter>
                        <action android:name="android.intent.action.MAIN"/>
                        <category android:name="android.intent.category.LAUNCHER"/>
                    </intent-filter>
</activity>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-30
    • 2013-12-31
    相关资源
    最近更新 更多