1

デフォルトのAndroidオプションにアクセスしたとき、つまりPlay MusicまたはGalleryにアクセスしたときに生成などを生成するときに、いくつかのサービスを実行したいアプリに取り組んでいますToast...これを行うことは可能ですか?これが私のコードです。

これが私がメインでサービスを開始する場所ですActivity

if(autoBrightOn){
  startService(new Intent(this, MyService.class));
}

と私Service.class

public class MyService extends Service {
    private static final String TAG = "MyService";

    @Override
    public IBinder onBind(Intent intent) {
        Log.w(" ibinder ","");
        return null;
    }

    @Override
    public void onCreate() {
//        Toast.makeText(this, "My Service Created",0).show();
        Log.w(TAG, "onCreate");

            }

   @Override
    public void onDestroy() {
//        Toast.makeText(this, "My Service Stopped",0).show();
//        Log.w(TAG, "onDestroy");
//        player.stop();
    }

    @Override
    public void onStart(Intent intent, int startid) {
        Toast.makeText(this, "My Service Started :"+intent+" start id :"+startid,0).show();
//        Log.d(TAG, "onStart");
//        player.start();

        Intent intentBrowseFiles = new Intent(Intent.ACTION_VIEW);
      intentBrowseFiles.setType("image/*");
      intentBrowseFiles.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
      startActivity(intentBrowseFiles);                   

    }
4

2 に答える 2

3

カスタムを作成して、送信されるBroadcastReceiverさまざまなをリッスンすることができます。Intent「キャッチオール」がないように見えるので、リッスンするsのACTIVITY_STARTEDかなり詳細なリストを作成する必要があるかもしれません。IntentAndroidIntentリファレンスは次のとおりです。

http://developer.android.com/reference/android/content/Intent.html

于 2012-07-23T21:52:38.970 に答える
2

はい。Serviceを拡張し、onCreate()、onDestroy()、およびonBind()メソッドをオーバーライドするクラスを作成します。メインマニフェストに

<service android:name=".GameServerService"/>

、ただし、.GameServerServiceをサービスの名前に置き換えます。次に、メインクラスに次のように入力します。

Intent gameServerService = new Intent(this, GameServerService.class);

使用する

this.startService(gameServerService);

this.stopService(gameServerService);

必要に応じて。幸運を!

于 2012-07-23T21:39:55.637 に答える