Android在重新启动后启动服务,无需活动并循环一个函数
您好:我知道这些问题的一部分已经在这里得到了回答,我可以认为这部分是有效的,但我面临一些问题 下面是我想要创建的应用程序行为的图片 对此的快速解释: 一,。用户->应用程序单击:如果用户单击应用程序,应用程序应启动包含一些内容的MainActivity,同时,应用程序应启动一个进程,该进程每10秒执行一次功能 二,。重新启动:如果智能手机重新启动,应用程序不应启动活动。应用程序应该只启动每10秒执行一次函数的进程 我的问题是,重新启动后,进程启动,函数执行几次,然后就停止了。我没有收到任何关于这类东西的错误信息,这个过程在我的手机中仍然处于活动状态,但该功能将不再执行 以下是我的源代码: autostart.java service.java 主要活动 小结:如果我点击应用程序的图标,就会显示MainActivity。如果我重新启动智能手机,应用程序将不会出现,服务将启动。发送一些消息的功能执行了几次。一切似乎都正常工作,但在发送了几次此消息后,它就停止了,没有任何错误。这项服务仍然显示在我的智能手机中,但每20秒执行一次的functon将不再执行,甚至不再发送任何消息。此外,点击显示简单页面的应用程序后,服务甚至消息都不会再次发送Android在重新启动后启动服务,无需活动并循环一个函数,android,android-activity,process,execute,reboot,Android,Android Activity,Process,Execute,Reboot,您好:我知道这些问题的一部分已经在这里得到了回答,我可以认为这部分是有效的,但我面临一些问题 下面是我想要创建的应用程序行为的图片 对此的快速解释: 一,。用户->应用程序单击:如果用户单击应用程序,应用程序应启动包含一些内容的MainActivity,同时,应用程序应启动一个进程,该进程每10秒执行一次功能 二,。重新启动:如果智能手机重新启动,应用程序不应启动活动。应用程序应该只启动每10秒执行一次函数的进程 我的问题是,重新启动后,进程启动,函数执行几次,然后就停止了。我没有收到任何关于这
我真的需要一些帮助:提前谢谢,祝你有一个愉快的一天=查看此帖子:谢谢你的回复,但这就是我所做的。问题是,我的服务在重新启动后执行了几次,然后就停止了。我想确定我的实施是否正确,这就是为什么我解释得如此广泛:
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();
}
}