Android 如何使用报警管理器增加整数
我想增加一个数字,并在一天中的特定时间使用AlarmManager在文本视图中显示它,但它不起作用。 应用程序正在调试并显示0,但未增加整数。 请帮忙,这是代码Android 如何使用报警管理器增加整数,android,Android,我想增加一个数字,并在一天中的特定时间使用AlarmManager在文本视图中显示它,但它不起作用。 应用程序正在调试并显示0,但未增加整数。 请帮忙,这是代码 public class MainActivity extends AppCompatActivity { TextView tv; int a = 3; Calendar calendar = Calendar.getInstance(); @Override protected void o
public class MainActivity extends AppCompatActivity {
TextView tv;
int a = 3;
Calendar calendar = Calendar.getInstance();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv = (TextView) findViewById(R.id.tv);
MyAlarm alarm = new MyAlarm();
setAlarm(calendar.getTimeInMillis());
int g = alarm.i;
tv.setText(String.format("%d", g));
}
private void setAlarm(long time) {
calendar.setTimeInMillis(System.currentTimeMillis());
//getting the alarm manager
AlarmManager am = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
//creating a new intent specifying the broadcast receiver
Intent i = new Intent(this, MyAlarm.class);
//creating a pending intent using the intent
PendingIntent pi = PendingIntent.getBroadcast(this, 0, i, 0);
calendar.set(Calendar.HOUR_OF_DAY, 17);
calendar.set(Calendar.MINUTE, 55);
calendar.set(Calendar.SECOND, 0);
//setting the repeating alarm that will be fired every day
am.setRepeating(AlarmManager.RTC, time, AlarmManager.INTERVAL_FIFTEEN_MINUTES, pi);
Toast.makeText(this, "Alarm is set", Toast.LENGTH_SHORT).show();
}
}
broad cast在这里
public class MyAlarm extends BroadcastReceiver {
int i;
@Override
public void onReceive(Context context, Intent intent) {
i++;
}
}
要添加默认构造函数,请在MyAlarm类中尝试以下操作:
MyAlarm(){
}
还添加此方法:
public int setI(){
i = i+1;
return i;
}
这就是它现在的样子:
public class MyAlarm extends BroadcastReceiver{
int i;
MyAlarm(){
i=0;
}
public int setI(){
i = i+1;
return i;
}
@Override
public void onReceive(Context context,Intent intent) {
i++;
}
}
现在,在onCreate()中调用它,它将递增i。
你可以说
int g = myAlarm.setI();
在setAlarm()函数中,或在任何需要增加它的地方。
g现在将递增。我希望这有帮助 唐;你不需要在MyAlarm类中使用默认构造函数吗?ishan是怎么做的?请建议使用默认构造函数来创建类的对象。每次调用它时,它都会递增i。所以你可以在setAlarm()中调用它。你能告诉我如何编写我的报警构造函数吗?是的,只需将我在回答中给出的代码添加到你的MyAlarm类中。好的,你能具体告诉我你遇到了什么问题吗?也许是因为你的方法在类外。