【问题标题】:resuming activity in Android using Service使用 Service 在 Android 中恢复活动
【发布时间】:2013-03-30 11:15:16
【问题描述】:

我有一个mainActivity
启动时,它会启动一个服务并绑定它。
有一个计时器会在 X 秒后将mainActivity (this) 发送回去,而服务继续运行和侦听,我使用moveTaskToBack (true)
当服务侦听器触发时,服务启动活动,但不是通过onResume() 调用的活动(因为它被发送回),而是通过onCreate() 调用,来调用我当前使用的活动:

Intent dialogIntent = new Intent(getBaseContext(), MainActivity.class);
dialogIntent.addFlags(Intent.FLAG_FROM_BACKGROUND);
getApplication().startActivity(dialogIntent);

这解释了为什么要重新创建活动。 我尝试使用FLAG_ACTIVITY_REORDER_TO_FRONT,但出现异常。

【问题讨论】:

    标签: android service oncreate resume


    【解决方案1】:

    在AndroidManifest.xml android:launchMode="singleInstance" 的AndroidManifest.xml 的activity 中添加这个属性

    AndroidMenifest.xml

     <application>
            <activity
                android:launchMode="singleInstance"> 
            </activity>
        </application>
    

    【讨论】:

    • 到什么?主要活动部分?它不只是要“杀死”和“重新创建”活动而不是恢复它吗?
    • 服务什么时候开始,从哪里开始??
    • 尝试确认 onpause() 被调用。when movetasktoback(true);被调用
    • @Arju ,服务从mainActivity启动onCreate()
    • 在从服务集 FLAG_ACTIVITY_NEW_TASK 标志为意图开始活动之前。例如 intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-17
    相关资源
    最近更新 更多