나는 시스템 서비스가 곧바로 접근 할 수 없다는 것을 읽고있다. onCreate()가 호출 된 후에 액세스해야합니다.Android : 활동이없는 시스템 서비스에 액세스 할 수 있습니까?
키보드 서비스를 만들고 있지만 센서와 같은 시스템 서비스에 액세스하고 싶습니다. 활동없이 이것을 할 수있는 방법이 있습니까?
InputMethodService를 상속하고 SensorEventListener를 구현하는 클래스를 이미 만들려고했습니다. onSensorChanged() 메서드를 구현하고 logcat에 인쇄하도록 지시하지만 결코 호출되지 않습니다. I는 방법 onCreateInputView()하는 I 센서 매니저 가속도계 정의 : 원함 InputMethodService 문맥에서 유래하고에서 onCreate 같은() 는 호출되어야 표시
특정 제안에 기초public class MyInput extends InputMethodService implements SensorEventListener {
MyInputView MyInputView;
private SensorManager mSensorManager;
@Override
public View onCreateInputView() {
mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
final MyInputView MyInputView = (MyInputView) getLayoutInflater().inflate(R.layout.MyInput, null);
this.MyInputView = MyInputView;
return MyInputView;
}
@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {
// TODO Auto-generated method stub
}
@Override
public void onSensorChanged(SensorEvent event) {
// TODO Auto-generated method stub
Log.d("called", "called");
}
}
을 ... ]
흥미로운 질문입니다. 또한 InputMethodService는 Context를 상속하므로 getSystemService() 메서드가 적어도 존재해야하며 onCreate() 라이프 사이클 메서드가 있어야합니다. onCreate()가 호출 된 후이 컨텍스트를 사용하여 원하는 서비스를 얻으려고하면 어떻게됩니까? –
업데이트를 위해 설정하는 코드와 발사하지 않는 이벤트 방법은 어디에 있습니까? 이 시점에서 집단적 신념은 당신이하고 싶은 것이 * 가능한 * 것으로 보이므로 문제는 당신의 시도와 관련이 있습니다. 우리는 당신이 시도하고자하는 것을 정확히 보지 않고는 그것을 도울 수 없습니다. 일. –
@ChrisStratton 첨부 된 내용은 – mino