Android 启动后启动服务

Android 启动后启动服务,android,service,boot,Android,Service,Boot,如何在启动运行mainActivity上的onCreate()函数后启动服务?我已经使用了broadcastRecivier,我可以提供服务,但我无法从主活动执行功能 这是我的代码broadcastReceiver public class BootStartUpReciver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) {

如何在启动运行
mainActivity
上的
onCreate()函数后启动服务?我已经使用了
broadcastRecivier
,我可以提供服务,但我无法从主活动执行功能

这是我的代码
broadcastReceiver

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);
    }

        }   
    }

您不能调用
startService()
并启动
活动
。您必须调用
startActivity()
。请注意,这不是推荐的模式,因为大多数用户不希望在每次启动时都看到应用程序。

我认为您是在将活动作为服务启动。。请更改为startActivity()


以下是我的工作方式:

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);

我需要更改以启动活动,但我遇到了一些故障,我无法查看logcat,因为在重新启动后,您仍然可以在启动后检查logcat。logcat缓冲区是一个循环RAM缓冲区,相当大。因此,即使在设备启动并看到“此应用程序已停止”对话框后,您仍然可以连接logcat。你需要看一下这个,看看你的崩溃发生在哪里。我必须将它更改为启动活动并更改为我的主活动,但我在启动后发生了崩溃。你可以发布你的日志吗?你仍然可以在你的日志窗口上看到日志,它可能很大….,你可以用你的包过滤,找到它…我使用你的代码,当我的活动在编译后打开时,它不会在主活动上运行函数我误读了你的问题,我无法理解你试图做什么。你是说onCreate of MainActivity没有被调用,而MainActivity已经启动?很抱歉,我对onCreate MainActivity的理解有误,函数正在运行,但当我重新启动手机时,开机后就崩溃了。你有必要的权限吗?android.permission.RECEIVE\u BOOT\u已完成尝试此操作
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);