デバイス/アプリケーションC2DM登録トークンが変更されたときに、一部のデバイス永続化データをネットワークサーバーに移行できるコードを書いています。私のアプリは、通常のアプリケーションを拡張するカスタムアプリケーションクラスを使用:IntentServiceは、BroadcastReceiverから開始され、Applicationクラスのインスタンスを作成しますか?
これは、最終的broadcastreceiver(GoogleのC2DM登録トークンを受信した結果として呼び出さ具体レシーバ)
@Override
public void onRegistered(Context context, String registrationId) throws IOException {
Log.d(TAG, "registrationId: " + registrationId);
Intent selectIntent = new Intent(this, AlertMigrationService.class);
this.startService(selectIntent);
}
(注によってキックオフされますクラス)。
私のアプリケーションがバックグラウンドにある(または実行されていない)ときに、このレシーバを呼び出すことができると思うので、インテントサービスが開始されたらどうなりますか?アプリケーション全体をスプールアップして、アプリケーションクラスのインスタンスを作成しますか?
IntentServiceの中から自分のアプリケーションクラスの静的メソッドを呼び出すことは安全です(または良い考えですか)? (これらの静的メソッドはApplication.onCreateに初期化され、戻りオブジェクトを持っている)