我正在尝试在后台创建一个服务,所以我可以运行一个每x分钟请求一个页面的循环。这是我在清单中的服务:
<service android:name=".webToSMS" android:enabled="true" />
这是我的服务正在启动(在主要活动中):
Intent intent = new Intent(this, webToSMS.class);
startService(intent);
最后,这是我的服务类:
public class webToSMS extends IntentService {
public webToSMS() {
super("webToSMS");
}
@Override
protected void onHandleIntent(Intent intent) {
Context context = getApplicationContext();
CharSequence text = "Hello toast!";
int duration = Toast.LENGTH_SHORT;
Toast toast = Toast.makeText(context, text, duration);
toast.show();
}
}
我正在关注Android的指南,这就是它告诉我要做的事情。我所期待的是一个祝酒词:“你好吐司!”何时运行此服务。最终,当这个工作时,我将放置一个循环,每隔x分钟就会请求一个页面。
答案 0 :(得分:4)
您的服务正在运行,它只是不显示toast,因为您不在UI线程上。
如果您想看吐司,请尝试使用
Handler HN = new Handler();
private class DisplayToast implements Runnable {
String TM = "";
public DisplayToast(String toast){
TM = toast;
}
public void run(){
Toast.makeText(getApplicationContext(), TM, Toast.LENGTH_SHORT).show();
}
}
@Override
protected void onHandleIntent(Intent intent) {
HN.post(new DisplayToast("New Toast on UI Thread"));
}