简体   繁体   English

如何从其他活动中调用服务方法

[英]how to call method in service from other activity

I have problem how to call my method in a service, my method is getambil_jmlgangguan() . 我有问题如何在服务中调用我的方法,我的方法是getambil_jmlgangguan()

Detailed code is here : 详细代码如下:

public class GetCountDataGangguanService extends Service {

    public String JUMLAH_GANGGUAN ="";
    public static final String TAG = "MyServiceTag1";

    GlobalKoneksi konek_url = new GlobalKoneksi();  
    GetJmlGangguanFunction jmlGangguanFUnctions = new GetJmlGangguanFunction();

    private static String KEY_SUCCESS = "success";
    private static String KEY_JUMLAH_DATA = "jumlah";
    JSONArray jml_data_json = null;

    // UserFunctions userFunctions;
    UserFunctions userFunctions = new UserFunctions();
    SessionManager session;

    @Override
    public void onCreate() {
        // TODO Auto-generated method stub
        mHandlers = new ArrayList<Handler>();

        Toast.makeText(this, "GetCountDataGangguan.onCreate()",
                Toast.LENGTH_SHORT).show();
        //getambil_jmlgangguan();
    }

    @Override
    public IBinder onBind(Intent intent) {
        // TODO Auto-generated method stub
        Toast.makeText(this, "GetCountDataGangguan.onBind()", Toast.LENGTH_SHORT)
                .show();
        return messenger.getBinder();

    }

    public class LocalBinder extends Binder {
        public GetCountDataGangguanService getServerInstance() {
            return GetCountDataGangguanService.this;
        }
    }

    @Override
    public void onDestroy() {
        // TODO Auto-generated method stub

        Log.d("GetCountDataGangguan.onDestroy()", "Sudah di destroy");
        Toast.makeText(this, "GetCountDataGangguan.onDestroy()",
                Toast.LENGTH_SHORT).show();

        super.onDestroy();          

    }

    @Override
    public void onStart(Intent intent, int startId) {
        // TODO Auto-generated method stub
        super.onStart(intent, startId);

    }

    @Override
    public boolean onUnbind(Intent intent) {
        // TODO Auto-generated method stub
        Toast.makeText(this, "GetCountDataGangguan.onUnbind()",
                Toast.LENGTH_SHORT).show();
        return super.onUnbind(intent);
    }


    public String getambil_jmlgangguan(){

        session = new SessionManager(getApplicationContext());
        session.checkLogin();
        HashMap<String, String> user = session.getUserDetails();
        String unit_id = user.get(SessionManager.KEY_UNITID);
        String regu_id = user.get(SessionManager.KEY_REGUID);

        JSONObject jsondatagangguan = jmlGangguanFUnctions.getcountdata(
                regu_id, unit_id);

        try {
            Log.d("JUMLAH_GANGGUAN",jsondatagangguan.getString(KEY_JUMLAH_DATA));
                JUMLAH_GANGGUAN = jsondatagangguan.getString(KEY_JUMLAH_DATA);

        } catch (JSONException e) {
            e.printStackTrace();
        }

        return JUMLAH_GANGGUAN;


    }

}

How do I call method getambil_jmlgangguan() in another activity eg MainActivity and get result of JUMLAH_GANGGUAN periodically. 如何在另一个活动中调用方法getambil_jmlgangguan() ,例如MainActivity并定期获取JUMLAH_GANGGUAN结果。

我建议您查看以下链接,其中有一个如何绑定到服务的示例: http//developer.android.com/guide/components/bound-services.html

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM