마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

특정 이벤트나 일정 시간이 지나면 자동으로 실행되는 앱을 만들고 싶습니다.ㅜㅜ

+1 추천
package kr.pe.theeye.gobackground;
 
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
 
import android.app.AlarmManager;
import android.app.PendingIntent;
import android.app.Service;
import android.content.Intent;
import android.os.IBinder;
import android.util.Log;
 
public class BootSvc extends Service {
 
    @Override
    public IBinder onBind(Intent arg0) { // onBind()는 IBinder 객체를 반환하는데 이놈이 서비스와 컴포넌트 사이의 인터페이스를 정의합니다
        // TODO Auto-generated method stub
        return null;
    }
    @Override
    public void onCreate(){
        super.onCreate();
         
        Log.i("0000aaa","서비스 시작은 재부팅 후에");
    }
    public void registerAlarm()
    {
        Log.e("###", "registerAlarm");
          
        Intent intent = new Intent(this, BootSvc.class);
        PendingIntent sender = PendingIntent.getBroadcast(this, 0, intent, 0);
          
        try
        {
            // 내일 아침 8시 10분에 처음 시작해서, 24시간 마다 실행되게
            Date tomorrow = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").parse("2015-08-19 17:12:00");
            AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE);
            am.setInexactRepeating(AlarmManager.RTC, tomorrow.getTime(), 24 * 60 * 60 * 1000, sender);
        } catch (ParseException e)
        {
            e.printStackTrace();
        }
          
          
    }
}

핸드폰 2개중 하나가 약 50m정도 떨어질 경우 다른 하나가 알림을 받는 코드를 작성하고 싶습니다...ㅠㅠ

아오쿠르 (900 포인트) 님이 2015년 8월 19일 질문
아오쿠르님이 2015년 8월 19일 수정

1개의 답변

+2 추천
 
채택된 답변
핸드폰의 위치가 고정일리 없으니 2개  두 핸드폰의 위치를 서로 알고 있어야 겠네요.

그러면 서버가 필요하고 두 핸드폰 모두 주기적으로 서버로 위치를 보내야 겠네요.

그 후 거리 판단이나 위치정보 전송은 각 상황에 맞게 하시면 됩니다.

서버에서 거리 판단하여 50m 이상일 때만 GCM 전송한다던지

단말에서 주기적으로 다른 핸드폰의 위치를 서버에서 가져가서 비교 해도 됩니다.

 

만약 하나의 핸드폰 위치가 고정이라면 ProximityAlert 을 이용하면 되겠네요.
원조안드로이드 (58,190 포인트) 님이 2015년 8월 20일 답변
아오쿠르님이 2015년 8월 20일 채택됨
...