Android Studio,从MainActivity调用公共方法[message()]到AlarmReceiver

时间:2016-10-28 17:54:46

标签: java android android-studio

MainActivity.java

这是我的MainActivity类

我想将message()调用到不同的java类。

package com.example.shyeilla.myapplication;

import android.app.AlarmManager;
import android.app.PendingIntent;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TimePicker;
import android.widget.Toast;
import android.widget.ToggleButton;

import java.util.Calendar;

public class MainActivity extends AppCompatActivity
{
TimePicker alarmTimePicker;
PendingIntent pendingIntent;
AlarmManager alarmManager;



public void message()
{
    final EditText etText = (EditText)findViewById(R.id.etText);
    Button bEnter = (Button)findViewById(R.id.bEnter);


    bEnter.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Toast.makeText(getApplicationContext(), etText.getText().toString(), Toast.LENGTH_SHORT).show();
        }
    });

   }
@Override
protected void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    alarmTimePicker = (TimePicker) findViewById(R.id.timePicker);
    alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);


}

public void OnToggleClicked(View view)
{
    long time;
    if (((ToggleButton) view).isChecked())
    {
        Toast.makeText(MainActivity.this, "ALARM ON", Toast.LENGTH_SHORT).show();
        Calendar calendar = Calendar.getInstance();
        calendar.set(Calendar.HOUR_OF_DAY, alarmTimePicker.getCurrentHour());
        calendar.set(Calendar.MINUTE, alarmTimePicker.getCurrentMinute());
        Intent intent = new Intent(this, AlarmReceiver.class);
        pendingIntent = PendingIntent.getBroadcast(this, 0, intent, 0);

        time=(calendar.getTimeInMillis()-(calendar.getTimeInMillis()%60000));
        if(System.currentTimeMillis()>time)
        {
            if (calendar.AM_PM == 0)
                time = time + (1000*60*60*12);
            else
                time = time + (1000*60*60*24);
        }
        alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, time, 10000, pendingIntent);
    }
    else
    {
        alarmManager.cancel(pendingIntent);
        Toast.makeText(MainActivity.this, "ALARM OFF",   Toast.LENGTH_SHORT).show();
    }
}

}

AlarmReceiver.java

这是AlarmReceiver类

MainActivity class1 = new MainActivity();

class1.message(); 

不工作

这是AlarmReceiver的代码

package com.example.shyeilla.myapplication;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.media.Ringtone;
import android.media.RingtoneManager;
import android.net.Uri;


public class AlarmReceiver extends BroadcastReceiver
{
@Override
 public void onReceive(Context context, Intent intent)
{

    MainActivity class1 = new MainActivity();
    class1.message();
    Uri alarmUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_ALARM);
    if (alarmUri == null)
    {
        alarmUri =       RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
    } 
    Ringtone ringtone = RingtoneManager.getRingtone(context, alarmUri);
    ringtone.play();

}
}

没有ToastMessage出现请帮助我非常感谢!

0 个答案:

没有答案