Rumah  >  Soal Jawab  >  teks badan

android - Mengapa kaedah overridden onBind perkhidmatan tidak boleh dipanggil secara manual dalam Aktiviti?

Terdapat kaedah onBind dalam Perkhidmatan kelas perkhidmatan dalam Android Mengapa kita tidak boleh memanggil kaedah ini secara aktif selepas mencipta objek yang diwarisi daripada kelas Perkhidmatan dalam MainActivity? Dan kebenaran akses kaedah onBind juga terbuka Selepas saya memperoleh objek kelas MyService dalam MainActivity, saya mendapati bahawa kaedah onBind tidak boleh dipanggil.

public class MyService extends Service
{

    private DownloadBinder mBinder=new DownloadBinder();

    class DownloadBinder extends Binder
    {
        public void startDownload()
        {
            Log.d("MyService","startDownload executed");
        }

        public int getProgress()
        {
            Log.d("MyService","getProgress executed");
            return 0;
        }
    }

    public MyService()
    {
    }

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

}
PHP中文网PHP中文网2713 hari yang lalu565

membalas semua(2)saya akan balas

  • 阿神

    阿神2017-05-16 13:23:50

    Walaupun penggunaan Perkhidmatan anda salah, ketepikan perkara ini, jika anda mencipta MyService dan kemudian menghubungi myService.onBind(null) secara terus, sepatutnya tiada masalah pada tahap penggunaan Java. Bukan bercakap tentang DownloadBinder

    di sini

    balas
    0
  • PHP中文网

    PHP中文网2017-05-16 13:23:50

    Contoh:

    1. Google dan anda boleh membina telefon Android;

    2. Awak pasang sendiri kalau rosak kena repair sendiri;

    3. Yang dijual oleh Google akan dimasukkan dalam polisi jaminan jenama.

    Empat komponen utama adalah asas untuk menjalankan aplikasi Android dan diselenggara dan diurus oleh sistem Tidak mustahil untuk mencipta objek daripada empat komponen utama dengan sewenang-wenangnya, tetapi ia tidak masuk akal.

    .

    balas
    0
  • Batalbalas