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;
}
}
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 siniEmpat 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.
.