پخش موزیک بعد از هر یک ساعت

سوال

من میخواهم که بعد از هر یک ساعت یک سوت در برنامه ام زده شود لطفا کمک کنید

حل شد 0
2019-01-03T06:18:08+03:30 1 پاسخ ها کاربر تازه 0

پاسخ ( 1 )

    0
    2019-01-03T11:32:25+03:30

    سلام

    برای انجام چنین عملیاتی اگه میخواید که در پس زمینه اجرا بشه  از Serivce(سرویس) ها باید استفاده کنید.

    سرویس ها همیشه در پس زمینه گوشی در حال اجرا هستند.

    یک مثال با سرویس:

    قطعه کد زیر هر 5 دقیقه یک پیام به صورت Toast نمایش در صفحه نمایش میده:

    • کدهای MainActivity.java
    public class MainActivity extends AppCompatActivity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            startService(new Intent(this, MyService.class)); //start service which is MyService.java
        }
    }
    • سرویسی ساختیم به نام MyService.java و کدها:
    public class MyService extends Service {
    
        public static final int notify = 500000;  //interval between two services(Here Service run every 5 Minute)
        private Handler mHandler = new Handler();   //run on another Thread to avoid crash
        private Timer mTimer = null;    //timer handling
    
        @Override
        public IBinder onBind(Intent intent) {
            throw new UnsupportedOperationException("Not yet implemented");
        }
    
        @Override
        public void onCreate() {
            if (mTimer != null) // Cancel if already existed
                mTimer.cancel();
            else
                mTimer = new Timer();   //recreate new
            mTimer.scheduleAtFixedRate(new TimeDisplay(), 0, notify);   //Schedule task
        }
    
        @Override
        public void onDestroy() {
            super.onDestroy();
            mTimer.cancel();    //For Cancel Timer
            Toast.makeText(this, "Service is Destroyed", Toast.LENGTH_SHORT).show();
        }
    
        //class TimeDisplay for handling task
        class TimeDisplay extends TimerTask {
            @Override
            public void run() {
                // run on another thread
                mHandler.post(new Runnable() {
                    @Override
                    public void run() {
                        // display toast
                        Toast.makeText(MyService.this, "www.beporsam.ir", Toast.LENGTH_SHORT).show();
                    }
                });
            }
        }
    }
    • که سپس در AndroidManifest هم باید سرویسی که ساختیم رو معرفی کنیم:
      <service android:name=".MyService" android:enabled="true" android:exported="true"></service>

    و حالا هر 5 دقیقه پیام https://www.beporsam.ir روی صفحه گوشی ظاهر میشه، که حالا شما میخواید صدا پخش بشه، به کمک MediaPalyear اینکارو انجام بدید.

    موفق باشید.

    بهترین پاسخ

ارسال یک پاسخ