私は、アプリが閉じていてもアクティブでなくても、設定された数字が毎日減少するようにしようとしています。たとえば、5日間アプリを開かないと、アプリを開いたときに番号が5つ下になります。私はAlarmManagerを使用しようとしてきましたが、私はToastを作成し、メインアクティビティでは関数を実行しないでください。ここに私のコードは...私はAndroidスタジオでAlarmManagerを使用して毎日のカウントダウンを作成しようとしています
主な活動
private TextView mTest;
private Button mButton;
private int number = 100;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mButton = (Button) findViewById(R.id.button);
mButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
scheduleAlarm();
}
});
}
public void scheduleAlarm(){
Intent intentAlarm = new Intent(this, AlarmReceiver.class);
AlarmManager alarmManager = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, 100000, 100000, PendingIntent.getBroadcast(this, 1, intentAlarm, PendingIntent.FLAG_UPDATE_CURRENT));
Toast.makeText(MainActivity.this, "This is starting!", Toast.LENGTH_SHORT).show();
}
public void subtract(){
mTest = (TextView) findViewById(R.id.textView);
number -= 1;
String numberString = Integer.toString(number);
mTest.setText(numberString);
}
ここで放送
private MainActivity mMainActivity = new MainActivity();
@Override
public void onReceive(Context context, Intent intent) {
mMainActivity.subtract();
Toast.makeText(context, "This is bogus", Toast.LENGTH_LONG).show();
}
あなたの現在のコードを表示して問題を解決しようとしました –