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

안드로이드 부팅시 서비스로 동작하는데 activity 클래스의 변수값 가져오는게 가능한가요?

0 추천
부팅시 브로드캐스트로 service실행

* StartReceiver.class

public class StartReceiver extends BroadcastReceiver {
 @Override
    public void onReceive(Context context, Intent intent) {
  if (intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED)) {
   Intent i = new Intent(context, ServiceClass.class);
      context.startService(i);
     }
    }
}
 

* MianActivity.class

  //폰번호 전달
        Intent intent =  new Intent(MainActivity.this, ServiceClass.class);
        intent.putExtra("phone", inputnumber);
        startService(intent);

*ServiceClass.class

 @Override
 public int onStartCommand(Intent intent, int flags, int startId){
  Log.i(TAG," +++ onStartCommand Service +++");
  super.onStartCommand(intent, flags, startId);
   inputnumber = intent.getStringExtra("phone");
  Log.i(TAG,"인텐드로 넘어 온 값 보이도  : "+ inputnumber);
  return Service.START_REDELIVER_INTENT;  //전화 번호 값 유지하기 위해서
 }

처음 앱 실행후 서비스에서는 휴대폰번호가 잘 오는데

스마트폰 재부팅시에는 값을 가져오지 못합니다. 어떻게 해야하는지 좀 알려주세요 부탁드립니다.

아이디어가 떠오르지 않네요ㅠㅠ
쿠쿠부다스 (6,470 포인트) 님이 2015년 12월 15일 질문

1개의 답변

0 추천
 
채택된 답변
자신의 휴대폰번호를 넘겨주고 넘겨받고 하는것이라면

굳이 인텐트를 사용해야 할필요성은 없어보이는데..일단

preferance를 사용하셔서 폰번호를 저장후에

필요한곳에서 저장한 preferance 값을 불러오시는건 어떨까요?
poporo (3,960 포인트) 님이 2015년 12월 16일 답변
쿠쿠부다스님이 2015년 12월 16일 채택됨
...