나는이 문제에 관한 12 개의 튜토리얼과 포럼 답변을 쏟아 부었지만 여전히 작동 코드를 함께 얻을 수 없었다. 질문을 간단하게 유지하려고 노력할 것입니다 :Android에서 AlarmManager로 활동을 시작하려면 어떻게해야합니까?
AlarmManager (Android API에서)를 사용하여 주어진 시간에 활동을 어떻게 시작합니까? 이 문제에 대한 해결책이 있습니다.
이것을 달성하기위한 최근의 시도는 다음과 같습니다.
(생략 수입. 나는 프로그램이 그것. 이야기하는 오류 메시지가없는이 없습니다 않는, 열린 후 MyActivity 3을 시작할 것으로 기대합니다.)
public class AndroidTest2Activity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Context context = this;//.getApplicationContext();
AlarmManager manager = (AlarmManager) getSystemService(Context.ALARM_SERVICE); // CORRECT
Intent intent = new Intent(context, myReceiver.class); // CORRECT
PendingIntent pending = PendingIntent.getBroadcast(context, 0, intent, 0); // CORRECT
manager.set(AlarmManager.RTC, System.currentTimeMillis() + 3000, pending); // CORRECT
setContentView(R.layout.main);
}
}
public class myReceiver extends BroadcastReceiver {
public void onReceive(Context context, Intent intent) {
Intent i=new Intent(context, myActivity.class);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);
}
}
public class myActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.d("", "Elusive success");
setContentView(R.layout.main);
}
}
어떤 조언을 주시면 감사하겠습니다.
참고 : 나는 이미
AndroidManifest에 수신기를 등록하셨습니까? –
죄송합니다. 언급 했어야합니다. 라인을 사용하여 예. 그것이 잘못된 선인지 알려주세요. –
BenLambell