Android 5.0之后启动Service 服务的方式

自从更新SDK之后,升到5.0版本,出现在启动Service 的时候出现异常!
以下异常:

Case by:java.lang.IllegalArgumentException: Service Intent must be explicit

后来经过相关的查阅发现Android在5.0 版本之后,对于Service服务的启动只能使用显示意图,而不能使用隐示的调用!

为此将其代码修改为如下方式启动:


public class MainActivity extends Activity implements OnClickListener,
UserLoginView {
    private ProgressBar progressBar;
    private EditText et_name;
    private EditText et_password;
    private Button start;
    private Button bt_clear;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        et_name = (EditText) findViewById(R.id.et_name);
        et_password = (EditText) findViewById(R.id.et_password);
        progressBar = (ProgressBar) findViewById(R.id.pb_loading);
        start = (Button) findViewById(R.id.start);

        bt_clear = (Button) findViewById(R.id.bt_clear);
        start.setOnClickListener(this);
        bt_clear.setOnClickListener(this);
    }

    @Override
    public void onClick(View v) {
        UserPresenter presenter = new UserPresenter(this);
        switch (v.getId()) {

        case R.id.start:
            Intent intent = new Intent();
            intent.setClass(this, TestService.class);

            startService(intent);
            presenter.login();
            break;

        case R.id.bt_clear:
            presenter.clearInfos();

            break;

        default:
            break;
        }
    }

由此就可解决出现的相关问题!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值