Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/189.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android在重新启动后启动服务,无需活动并循环一个函数_Android_Android Activity_Process_Execute_Reboot - Fatal编程技术网

Android在重新启动后启动服务,无需活动并循环一个函数

Android在重新启动后启动服务,无需活动并循环一个函数,android,android-activity,process,execute,reboot,Android,Android Activity,Process,Execute,Reboot,您好:我知道这些问题的一部分已经在这里得到了回答,我可以认为这部分是有效的,但我面临一些问题 下面是我想要创建的应用程序行为的图片 对此的快速解释: 一,。用户->应用程序单击:如果用户单击应用程序,应用程序应启动包含一些内容的MainActivity,同时,应用程序应启动一个进程,该进程每10秒执行一次功能 二,。重新启动:如果智能手机重新启动,应用程序不应启动活动。应用程序应该只启动每10秒执行一次函数的进程 我的问题是,重新启动后,进程启动,函数执行几次,然后就停止了。我没有收到任何关于这

您好:我知道这些问题的一部分已经在这里得到了回答,我可以认为这部分是有效的,但我面临一些问题

下面是我想要创建的应用程序行为的图片

对此的快速解释:

一,。用户->应用程序单击:如果用户单击应用程序,应用程序应启动包含一些内容的MainActivity,同时,应用程序应启动一个进程,该进程每10秒执行一次功能

二,。重新启动:如果智能手机重新启动,应用程序不应启动活动。应用程序应该只启动每10秒执行一次函数的进程

我的问题是,重新启动后,进程启动,函数执行几次,然后就停止了。我没有收到任何关于这类东西的错误信息,这个过程在我的手机中仍然处于活动状态,但该功能将不再执行

以下是我的源代码:

autostart.java

service.java

主要活动

小结:如果我点击应用程序的图标,就会显示MainActivity。如果我重新启动智能手机,应用程序将不会出现,服务将启动。发送一些消息的功能执行了几次。一切似乎都正常工作,但在发送了几次此消息后,它就停止了,没有任何错误。这项服务仍然显示在我的智能手机中,但每20秒执行一次的functon将不再执行,甚至不再发送任何消息。此外,点击显示简单页面的应用程序后,服务甚至消息都不会再次发送


我真的需要一些帮助:提前谢谢,祝你有一个愉快的一天=

查看此帖子:谢谢你的回复,但这就是我所做的。问题是,我的服务在重新启动后执行了几次,然后就停止了。我想确定我的实施是否正确,这就是为什么我解释得如此广泛:
public class autostart extends BroadcastReceiver 
{
    public void onReceive(Context arg0, Intent arg1) 
    {
        Intent intent = new Intent(arg0,service.class);
        arg0.startService(intent);
        Log.i("Autostart", "started");
    }
}
public class service extends Service
{
    private static final String TAG = "MyService";
    @Override
    public IBinder onBind(Intent intent) 
    {
        return null;
    }
    public void onDestroy() 
    {
        Toast.makeText(this, "My Service Stopped", Toast.LENGTH_LONG).show();
        Log.d(TAG, "onDestroy");
    }

    @Override
    public void onStart(Intent intent, int startid)
    {
        new Timer().scheduleAtFixedRate(new TimerTask(){

            @Override
            public void run() 
            {
                 Message msg = new Message(getBaseContext());
                 msg.read();
            }
        }, 0, 20000);//put here time 1000 milliseconds=1 second

    Toast.makeText(this, "My Service Started", Toast.LENGTH_LONG).show();
    Log.d(TAG, "onStart");
    }
}
public class MainActivity extends Activity 
{
   @Override
   public void onCreate(Bundle savedInstanceState) 
   {
       super.onCreate(savedInstanceState);
       //setContentView(R.layout.main --> this line commented out
       Toast.makeText(getBaseContext(), "Hello........", Toast.LENGTH_LONG).show(); 
   }
}