나는 떨리는 것을 감지하여 경고 대화 상자를 생성하는 안드로이드 응용 프로그램을 개발 중입니다. 나는 우리가 전화를 흔들 때마다 응용 프로그램이 자동으로 대화 상자를 경고 할 수 있도록 백그라운드에서 해당 응용 프로그램을 실행하고 싶습니다.서비스 또는 방송 수신기
나는 떨리는 모듈을 어디에 두어야하는지에 관한 문제에 직면하고있다.
은 내가 StartCammand()에 해당 모듈을 넣어 가지고 있지만
는 브로드 캐스트 리시버를 사용하여 내 응용 프로그램을 구현하는 것이 가능 .. 일을 didnot?
도와주세요 .. 미리 감사드립니다. 여기
여기public void onShake(float force) {
// TODO Auto-generated method stub
AlertDialog.Builder alertDialog=new AlertDialog.Builder(Shake.this);
alertDialog.setTitle("Confirm your condition");
alertDialog.setMessage("Are you OK?");
alertDialog.setPositiveButton("YES", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
Toast.makeText(getApplicationContext(),"Take Care!!!", Toast.LENGTH_LONG).show();
}
});
alertDialog.setNegativeButton("No", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
Toast.makeText(getApplicationContext(), "Emergency will be reached", Toast.LENGTH_LONG).show();
}
});
alertDialog.show();
}
내가 StartCommand()이 텍스트 책처럼 소리
public int onStartCommand(Intent intent, int flags, int startid) {
SensorEventListener sensorEventListener = new SensorEventListener(){
private long now=0;
private long timeDiff=0;
private long lastUpdate=0;
private long lastShake=0;
private float x=0;
private float y=0;
private float z=0;
private float lastX=0;
private float lastY=0;
private float lastZ=0;
private float force=0;
public void onAccuracyChanged(Sensor sensor,int accuracy){}
public void onSensorChanged(SensorEvent event)
{
now=event.timestamp;
x=event.values[0];
y=event.values[1];
z=event.values[2];
if(lastUpdate==0)
{
lastUpdate=now;
lastShake=now;
lastX=x;
lastY=y;
lastZ=z;
Toast.makeText(aContext, "No motion is detected", Toast.LENGTH_LONG).show();
}
else
{
timeDiff=now-lastUpdate;
if(timeDiff>0)
{
force=Math.abs(x+y+z-lastX-lastY-lastZ);
if(Float.compare(force, threshold)>0)
{
if(now-lastShake>=interval)
{
listener.onShake(force);
}
else
{
Toast.makeText(aContext, "no motion is detected", Toast.LENGTH_LONG).show();
}
lastShake=now;
}
lastX=x;
lastY=y;
lastZ=z;
lastUpdate=now;
}
else
{
Toast.makeText(aContext, "no motion is detected", Toast.LENGTH_LONG).show();
}
}
listener.onAccelerometerChanged(x,y,z);
}
};
return START_STICKY;
}
언제 서비스에서 Context.startService()를 호출합니까? –
@ NathanielD.WaggonerI MainActivity 클래스에서이 클래스를 호출하여 Intent를 전달하여 서비스를 확장하는 활동으로 전달합니다. – krati
답변보기. 설정 한 청취자를 등록하지 않았습니다. –