2016-11-23 64 views
-2

我想要一個簡單的Toast消息「Helloo everyone」在每天11:30 a.m顯示。爲此,我有兩個類MainActivity和AlarmReceiver 我已經嘗試了很多解決方案但沒有找到答案。 請幫幫我。在每天的固定時間,Toast消息應顯示在Android

代碼: -

public class MainActivity extends AppCompatActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     Calendar cur_cal = new GregorianCalendar(); 
     cur_cal.setTimeInMillis(System.currentTimeMillis());//set the current time and date for this calendar 

     Calendar cal = new GregorianCalendar(); 
     cal.add(Calendar.DAY_OF_YEAR, cur_cal.get(Calendar.DAY_OF_YEAR)); 
     cal.set(Calendar.HOUR_OF_DAY, 11); 
     cal.set(Calendar.MINUTE, 30); 
     cal.set(Calendar.SECOND, cur_cal.get(Calendar.SECOND)); 
     cal.set(Calendar.MILLISECOND, cur_cal.get(Calendar.MILLISECOND)); 
     cal.set(Calendar.DATE, cur_cal.get(Calendar.DATE)); 
     cal.set(Calendar.MONTH, cur_cal.get(Calendar.MONTH)); 
     Intent intent = new Intent(MainActivity.this, AlarmReceiver.class); 
     PendingIntent pintent = PendingIntent.getService(MainActivity.this, 0, intent, 0); 
     AlarmManager alarm = (AlarmManager)getSystemService(Context.ALARM_SERVICE); 
     alarm.setRepeating(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), 30*1000, pintent); 
    } 
} 

AlarmReceiver.java

public class AlarmReceiver extends BroadcastReceiver { 
    int MID = 0; 
    @Override 
    public void onReceive(Context context, Intent intent) { 
     // TODO Auto-generated method stub 


      // For our recurring task, we'll just display a message 
      Toast.makeText(context, "Hello everyone", Toast.LENGTH_SHORT).show(); 

     } 

    } 

Mainfest

<uses-permission android:name="com.android.alarm.permission.SET_ALARM"/> 
    <receiver android:name="com.example.alarmmanagernotifcation.AlarmReceiver"/> 
    <application 
     android:allowBackup="true" 
     android:icon="@mipmap/ic_launcher" 
     android:label="@string/app_name" 
     android:supportsRtl="true" 
     android:theme="@style/AppTheme"> 
     <activity android:name=".MainActivity"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN"/> 

       <category android:name="android.intent.category.LAUNCHER"/> 
      </intent-filter> 
     </activity> 
     <receiver android:name=".AlarmReceiver"></receiver> 
    </application> 

回答

0

創造你的警報這樣。

Calendar calendar = Calendar.getInstance(); 
calendar.set(Calendar.HOUR_OF_DAY, 18); 
calendar.set(Calendar.MINUTE, 30); 
calendar.set(Calendar.SECOND, 0); 
Intent intent1 = new Intent(MainActivity.this, AlarmReceiver.class); 
PendingIntent pendingIntent = PendingIntent.getBroadcast(MainActivity.this, 0,intent1, PendingIntent.FLAG_UPDATE_CURRENT); 
AlarmManager am = (AlarmManager) MainActivity.this.getSystemService(MainActivity.this.ALARM_SERVICE); 
am.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), AlarmManager.INTERVAL_DAY, pendingIntent); 

清單權限。

<uses-permission android:name="com.android.alarm.permission.SET_ALARM"/> 
<receiver android:name="com.example.alarmmanagernotifcation.AlarmReceiver"/> 

enter image description here

+0

我已經試過您的解決方案,但它不工作 – Shivangi

+0

任何錯誤。請發佈日誌。 – AndroidHacker

+0

沒有什麼事情發生。 – Shivangi

相關問題