所以我一直在玩 Tasker for Android,让它在后台运行我的服务。但是,我的服务每隔一次才会收到意图。我在同一个配置文件上有另一个任务,它显示一个通知,并且每次都会弹出。不确定这是 Tasker 的问题还是应用程序的问题。这是我的服务,它使用广播接收器在后台运行以侦听意图:
package com.controlanything.garageapp;
import android.app.Service;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.IBinder;
import android.widget.Toast;
public class IOService extends Service {
private static final String ACTION ="com.controlanything.garageapp.IO_ACTION";
private BroadcastReceiver bReceiver;
public IOService() {
}
@Override
public IBinder onBind(Intent intent) {
// TODO: Return the communication channel to the service.
throw new UnsupportedOperationException("Not yet implemented");
}
@Override
public void onCreate(){
super.onCreate();
System.out.println("Service started.");
final IntentFilter theFilter = new IntentFilter();
theFilter.addAction(ACTION);
this.bReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
if(intent.getStringExtra("COMMAND").equalsIgnoreCase("ON")){
System.out.println("On Command");
makeToast("ON!");
}else{
System.out.println("Off Command");
makeToast("OFF!");
}
}
};
this.registerReceiver(this.bReceiver, theFilter);
}
@Override
public void onDestroy(){
super.onDestroy();
this.unregisterReceiver(this.bReceiver);
}
private void makeToast(String message){
Toast.makeText(this, message, Toast.LENGTH_LONG);
}
}
任何想法都非常感谢。