1

RamがAndroidでユーザーによってクリアされた場合にサービスを自動的に開始する方法私は1つの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_STICKYpublic int onStartCommand (Intent intent, int flags, int startId)これはしばらくしてから自動的にサービスを再開します。

于 2012-06-08T12:41:36.343 に答える