0

アンドロイドで私は2つのサービスを使用していて、1つのサービスから別のサービスにいくつかの詳細を移動したいと思います。このため、setメソッドとgetメソッドを使用して新しいクラス設定を作成しますが、2つのサービスをこの1つのクラスファイルに接続して、あるサービスから別のサービスに詳細を移動し、それぞれを記憶する方法がわかりません。

例えば:

プロパティブール値をサービス1からサービス2に転送し、サービス2でこのプロパティがtrueかどうかを確認し、trueの場合は、このseocndサービスでコードを実行します...より適切な説明を希望します

クラスの例:

public class Settings {
    private int currentAudioManager;
    private Boolean isChanged;

    public int getCurrentAudioManager() {
        return currentAudioManager;
    }

    public void setCurrentAudioManager(int currentAudioManager) {
        this.currentAudioManager = currentAudioManager;
    }
........

あなたが私が欲しいものを理解することを願っています。

4

1 に答える 1

1

放送受信機を登録し、サービス間で放送受信可能なデータを送信することができます。

public class Service1 extends Service {

    @Override
    public void onCreate() {    
        super.onCreate();
        registerReceiver(recevier1,  new IntentFilter("YOUR_SERVICE_ACTION1")); 

        // if something happen in your service"
        sendBroadcast(new Intent("YOUR_SERVICE_ACTION2")); // send to second service
    }

    @Override
    public IBinder onBind(Intent intent) {      
        return null;
    }

    public void onDestroy() {
        unregisterReceiver(recevier1);
    };

    Service1Receiver recevier1 = new Service1Receiver();    
    private class Service1Receiver extends BroadcastReceiver{

        @Override
        public void onReceive(Context context, Intent intent) {     
            intent.getExtra("me.SERVICE");// handle your data
        }
    }

}
于 2012-08-16T13:12:17.723 に答える