2012-08-10 4 views
0

브로드 캐스트 리시버를 사용하여 특정 시간에 버튼을 클릭하는 동작 (토스트가 아닌)과 같은 활동을 시작하거나 몇 가지 작업을 수행하는 방법, 시간을 설정하는 방법 ??방송 수신기를 사용하여 특정 시간에 활동하는 방법?

+0

당신이 특정 시간에 어떤 행동을 만드는 방법을 찾으시는 것처럼도

youintent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 

이 줄을 추가해야하는 것이 중요합니다. 방송에서 일부 데이터를받은 후? –

+0

실제로 주요 활동에서 (오후 3시 30 분) 특정 시간에 방송 수신기를 사용하여 작업 (토스트가 아닌)을하고 싶습니다. 주요 활동에서 보류중인 의도를 사용하여 방송 수신기 클래스로갑니다. 방송 수신기 클래스에서 할 수있는 모든 것 토스트 액션입니다. 그 클래스 안의 버튼을 사용할 수 없습니다 ... 활동이 아니기 때문에 – zyonneo

+0

AlarmManager + Service를 사용해야합니다. 내 새로운 대답을보세요 –

답변

0

당신은 알람 관리기를해야 할 수도 있습니다 사용 + 그렇게하는 서비스. 당신이 그냥 몇 가지 새로운 의도와 startActivity를 (의도)가 PS를 확인

http://android-er.blogspot.com/2010/10/simple-example-of-alarm-service-using.html

과 (링크)에서 서비스 클래스가 표시 토스트에 여기 볼 수 있습니다. 시작하기 전에. 그것은 당신이

public class AlarmService extends Service { 

private Intent alarmIntent; 

@Override 
public void onCreate() { 
    alarmIntent = new Intent(this, AlarmActivity.class); 
    alarmIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
} 

@Override 
public void onStart(Intent intent, int startId) { 
    super.onStart(intent, startId); 

    //Toast.makeText(this, "MyAlarmService.onStart()", Toast.LENGTH_LONG) 
    //  .show(); 

    startActivity(alarmIntent); 
} 

// another implement method...... 
} 
+0

예 .. 대답은 ... 대답 ... 그것은 새로운 활동을 시작합니다.하지만 특정 시간에 그 활동 내에서 어떤 행동을 원했습니다 ... – zyonneo

0

처리기가 필요할 수 있습니다.

Intent intent; 
Handler handler; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    intent = new Intent(this, ChildActivity.class); 
    handler = new Handler(); 

    setContentView(R.layout.activity_streaming_client_example); 


} 

하고 일부 초 후에 게시 할 경우 handler.postAtTime

handler.postAtTime(new Runnable() { 
@Override 
public void run() { 
     MotherActivity.this.startActivityForResult(intent, 0); 
    } 
}, millisecond_toStartfromUpTime); 

를 사용하여 특정 시간에 실행되도록하기 위해, handler.postDelayed이

handler.postDelayed(new Runnable() { 
@Override 
public void run() { 
     MotherActivity.this.startActivityForResult(intent, 0); 
    } 
}, millisecond_delayhere); 
관련 문제