我试图在后台服务中捕获clipboardChanged事件
public class MainActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Intent i = new Intent(MainActivity.this, TranslateService.class);
startService(i);
}
}
public class TranslateService extends IntentService implements ClipboardManager.OnPrimaryClipChangedListener {
public TranslateService() {
super(null);
}
public TranslateService(String name) {
super(name);
ClipboardManager manager = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE);
manager.addPrimaryClipChangedListener(this);
}
@Override
protected void onHandleIntent(Intent intent) {
}
@Override
public void onPrimaryClipChanged() {
Toast.makeText(this, "Working", Toast.LENGTH_LONG).show();
}
}
应该举杯祝酒"工作"如果事件被触发。 我还试图创建ClipboardManager并在onHandleIntent中添加监听器,它也没有工作。 有任何想法吗?
答案 0 :(得分:0)
调用默认构造函数时,您不会将侦听器添加到ClipboardManager
。
我认为您打算在默认构造函数中使用this(null)
,而不是直接调用super(null)
。
public TranslateService() {
this(null);
}