如何在onCreate()
上运行mainActivity
功能的启动后启动服务?我已经使用broadcastRecivier
,我可以提供服务,但我无法执行主要活动的功能。
这是我的代码broadcastReciver
public class BootStartUpReciver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
//Start service on Boot
if(intent.getAction().equals(intent.getAction())){
Intent service = new Intent(context,TestService.class);
service.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startService(service);
}
//Start App on Boot Start up
if(intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED)){
//if(intent.getAction().equals(intent.getAction())){
Intent app = new Intent(context,TestService.class);
app.setClass(context,SatuActivity.class);
app.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startService(app);
}
}
}
答案 0 :(得分:0)
您无法致电startService()
并开始Activity
。您必须致电startActivity()
。请注意,这不是推荐的模式,因为大多数用户不希望每次启动时都看到应用程序。
答案 1 :(得分:0)
我认为您正在启动Activity as a Service ..请更改为startActivity()
Intent app = new Intent(this,MainActivity.class);// pass main activity
app.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
this.startActivity(app);
答案 2 :(得分:0)
这是我的工作方式:
final Intent i = new Intent(Intent.ACTION_MAIN, null);
i.addCategory(Intent.CATEGORY_LAUNCHER);
final ComponentName cn = new ComponentName(
"your.package",
"your.package.MainActivity");
i.setComponent(cn);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);