android - Mengapa kaedah overridden onBind perkhidmatan tidak boleh dipanggil secara manual dalam Aktiviti?
PHP中文网
PHP中文网 2017-05-16 13:21:50
0
2
589

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中文网

认证高级PHP讲师

membalas semua(2)
阿神

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
Ty80

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.

.
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!