我想要的是当我点击按钮,立即启动服务。一旦启动服务,立即意图进行另一项活动。
以下是我的代码:
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//here I start the service
Intent intent = new Intent(MyActivity.this, UploadService.class);
intent.putExtra(UploadService.ID,id);
startService(intent);
//after start the service,I want to redirect to Activity2.class
Intent intent1 = new Intent(MyActivity.this,Activity2.class);
startActivity(intent1);
}
}
但是,当我执行此操作时,该服务无法启动,也不会重定向到Activity2.class
,而是重定向到之前的活动。
我在intent
onHandleIntent(Intent intent)
Service.class
内尝试@Override
protected void onHandleIntent(Intent intent) {
//other code here
Intent intent1 = new Intent(MyActivity.this,Activity2.class);
startActivity(intent1);
}
问题仍然相同
以下是我在UploadService.class中尝试的内容:
activity
但是服务仍未启动,意图执行上一个活动(MyActivity.class意图的活动)。
那么,如何在开始Service
之后立即重定向到另一个UploadService
?
修改
我已经在清单中声明了<service
android:name=".services.UploadService"
android:enabled="true">
</service>
,如此:
HashMap
那么我在这里仍然缺少什么?
答案 0 :(得分:0)
确保您已在manifest.xml中注册了Service类。 尝试将服务类名称从“服务”更改为其他名称。由于Service.java类是System类。
尝试启动以下服务
startService(new Intent(context, MyService.class));
修改强>
更多说明首先检查您的应用是否正在运行。如果您的应用程序未运行,请调用此代码。
Intent i = new Intent(context,SecondActivity.class);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);
如果正在运行,请使用此代码
Intent i = new Intent(context,SecondActivity.class);
context.startActivity(i);