简体   繁体   中英

Android Java get onStartCommand method

Hello I have this inside my MainActivity.java:

   @Override
    public void onBackPressed() {
        Context context = getApplicationContext();
        CharSequence text = "myText";
        int duration = Toast.LENGTH_SHORT;
        Toast.makeText(context, text, duration).show();
        myDialog = new Dialog(this);
        myDialog.setContentView(R.layout.dialog_signin);
        myDialog.setCancelable(false);
        password = (EditText) myDialog.findViewById(R.id.password);
        myDialog.show();
        Button lbtn = (Button) myDialog.findViewById(R.id.loginButton);
        lbtn.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            Context context = getApplicationContext();
            CharSequence passwordCorrect = "Password correct";
            CharSequence passwordIncorrect = "Password wrong";
            int duration = Toast.LENGTH_SHORT;
            if (password.getText().toString().equals("456")) {
                Toast.makeText(context, passwordCorrect, duration).show();
                // onstartCommand method here
            } else {
                Toast.makeText(context, passwordIncorrect, duration).show();
                // onstartCommand method here
            }
        }
    });
}

And this in my Kiosk.java:

@Override
public void onDestroy() {
    Log.i(TAG, "Stopping service 'KioskService'");
    running = false;
    super.onDestroy();
}

@Override
public int onStartCommand(Intent intent, int flags, int startId) {
    Log.i(TAG, "Starting service 'KioskService'");
    running = true;
    ctx = this;

    t = new Thread(new Runnable() {
        @Override
        public void run() {
        do {
            handleKioskMode();
            try {
                Thread.sleep(INTERVAL);
            } catch (InterruptedException e) {
                Log.i(TAG, "Thread interrupted: 'KioskService'");
            }
        } while (running);
        stopSelf();
    }
});

t.start();
return Service.START_NOT_STICKY;

}

I want to change the running value inside my onStartCommand which is current true, inside my MainActivity if password equals 456 to false. How do I make that happen.

创建新的Intent(Context,Kiosk.class)并调用intent.putExtra(String key,boolean value),然后使用Activity.starService(Intent)方法启动您的服务

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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