你好:)我知道这些问题的部分内容已在这里得到解答,我可以弄清楚它部分有效但我遇到了一些问题。
以下是我想要创建的应用程序行为的图片。
对此的快速解释:
1。用户 - > APP-Click:如果用户点击APP,APP应该用一些内容启动MainActivity,同时APP应该开始一个每10秒执行一次功能的过程。
2。重新启动:如果智能手机重新启动,则APP不应启动活动。 APP应该只启动每10秒执行一次该功能的过程。
我的问题是,重新启动后,进程启动并且函数执行几次然后它就停止了。我没有收到任何关于此类内容的错误消息,该过程在我的手机中仍处于活动状态,但该功能将不再执行。
这是我的源代码:
autostart.java
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");
}
}
service.java
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");
}
}
MainActivity
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();
}
}
摘要:如果我点击APP的图标,则会显示MainActivity。如果我重新启动智能手机,则不会显示APP,并且服务将启动。发送一些消息的功能会被执行几次。一切似乎都应该像它应该的那样工作但是在发送这个消息几次后它就会停止而没有任何错误。该服务仍显示在我的智能手机中,但是每20秒执行一次的功能将不再执行,甚至不再发送任何消息。此外,在点击显示简单页面的APP后,服务甚至消息都不会再次发送。
我真的需要一些帮助:)提前感谢并祝你有个美好的一天=)