0

私のサービスは動作しています。問題は、実行中にサービスが終了するまで黒い画面が表示されることです。

Intent Service = new Intent();
Service.setClass(Activity.this,sendInformation.class);
Service.putExtra("IP",IP1); 
Service.putExtra("Port",Port1);
Activity.this.startService(Service);

「サービスの実行中」と家に戻るにはどうすればよいですか?

4

2 に答える 2

1

サーバーで行っていることは、メインスレッドで行われます。代わりにIntentServiceを使用するか、サーバーのonStartCommandから独自のスレッドをスパンしてみてください。通常、IntentServiceは問題ありません。

于 2013-03-04T17:46:05.053 に答える
1

Serviceドキュメントから

サービスは、他のアプリケーション オブジェクトと同様に、ホスティング プロセスのメイン スレッドで実行されることに注意してください。これは、サービスが CPU 集中型 (MP3 再生など) またはブロック (ネットワークなど) 操作を行う場合、その作業を行う独自のスレッドを生成する必要があることを意味します。

AsyncTaskマルチスレッドが必要な場合は、作成するだけです。

于 2013-03-04T17:53:16.003 に答える