自从更新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;
}
}
由此就可解决出现的相关问题!