gpt4 book ai didi

java - 使用 Activity 类中的方法

转载 作者:行者123 更新时间:2023-11-30 02:16:58 26 4
gpt4 key购买 nike

我正在扩展 BroadcastReceiver 类,但在给定的函数中我需要使用 getIntent() 函数,它是 Activity 类 的一部分。我应该如何使用此功能,因为我只能扩展一个类。

public class AlarmReceiver extends BroadcastReceiver {

AudioManager audioControl;
Bundle extras;
int startHour,startMinute;

@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
SimpleDateFormat sdf = new SimpleDateFormat("EEEE");
Date d = new Date();
String day = sdf.format(d);
Calendar c = Calendar.getInstance();
audioControl = (AudioManager) context
.getSystemService(Context.AUDIO_SERVICE);
extras = getIntent().getExtras();
if(extras!=null){
startHour = extras.getInt("startHour");
startMinute = extras.getInt("startMinute");
}

int minute = c.get(Calendar.MINUTE);
int hour = c.get(Calendar.HOUR_OF_DAY);
if(day.equals("Thursday")){
if(hour==startHour){
if(minute==startMinute){
audioControl.setRingerMode(AudioManager.RINGER_MODE_VIBRATE);
}
}
}

}

编辑:我的主要类(class):

public class Settings extends Activity implements View.OnClickListener {


private PendingIntent pendingIntent;

@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.setting);
Intent alarmIntent = new Intent(Settings.this, AlarmReceiver.class);
alarmIntent.putExtra("day", "Tuesday");
pendingIntent = PendingIntent.getBroadcast(Settings.this, 0, alarmIntent, 0);
alarmRepeat();
}
public void alarmRepeat(){
Calendar cal = Calendar.getInstance();
AlarmManager manager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
manager.setRepeating(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), 1000, pendingIntent);
}

最佳答案

只需检查您的 onReceive() 方法

@Override                                      
public void onReceive(Context context, Intent intent) {
^^^^^
//you already have an instance of Intent object
//just use it like this.
Bundle extras=intent.getExtras();
}

关于java - 使用 Activity 类中的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29140016/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com