1

如果用户在 android 中清除了 Ram,如何自动启动服务我已经创建了一个 broadcastReciever 并启动了服务对不起,如果我不是很清楚..有时它正在工作意味着如果用户清除 ram,那么服务仍在运行,但有时它已停止并且未重新启动。如何解决这个问题呢

2)我使用过警报管理器,但应用程序经常挂起,所以我退出警报管理器我的代码片段是

public class RecieverToRestartService extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        try 
{

            Intent  _restartServiceIntent = new Intent(context,InvendisGpsLoggerActivity.class);
            _restartServiceIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            context.startService(_restartServiceIntent);
        } catch (Exception e) {
            e.printStackTrace();
        }

    }

}

并在 android 清单文件中

<receiver   android:name="com.i.I.RecieverToRestartService">
            <intent-filter>
                <action android:name="android.intent.action.PACKAGE_REPLACED"/>
                <action android:name="android.intent.action.PACKAGE_RESTARTED"/>     
            </intent-filter>
        </receiver>
4

1 回答 1

0

在您的情况下,我尚未测试,但是...当您返回START_STICKY时,public int onStartCommand (Intent intent, int flags, int startId)如果您的手机由于内存不足而将其杀死,则一段时间后将自动重新启动该服务。

于 2012-06-08T12:41:36.343 回答