2016-11-23 16 views
-2

簡単なトーストメッセージ "Helloo everyone"が毎日午後11時30分に表示されるようにします。これは2つのクラスMainActivityとAlarmReceiverを持っています 解決策は見つかりませんでした。 私を助けてください。毎日の固定時間に、トーストメッセージが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

関連する問題