1

バックグラウンド ダウンロードにサービスを使用したいのですが、サービス内でスレッドを開始できません。run メソッドが呼び出されることはありません (ローカル サービスと個別プロセス サービスの両方を試しました)。

    public class DownloadService extends Service
    {
        private int count = 0;

        @Override
        public int onStartCommand(Intent intent, int flags, int startId) {
            return Service.START_NOT_STICKY;
        }


        @Override
        public void onCreate()
        {
            super.onCreate();
            //mDT.start(getApplicationContext(), new Handler());
            new Thread(new DownloadRunnable());
        }


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



        private class DownloadRunnable implements Runnable
        {
            @Override
            public void run()
            {
                ++count;
                new Handler().post(new Runnable() {
                    @Override
                    public void run() {
                        Toast.makeText(getApplicationContext(), "Hey from Service", Toast.LENGTH_SHORT).show();
                    }
                });
                ++count;
            }
        }
    }

//inside application class
Intent i= new Intent(this, DownloadService.class);
startService(i);

トーストは表示されず、実行内のブレークポイントは発生しません。私は何かが恋しいですか?

4

1 に答える 1

4

あなたはスレッドを開始しません

new Thread(new DownloadRunnable()).start()
于 2013-10-10T14:38:37.700 に答える