2016-07-07 24 views
0

アラームがトリガされたときに通知を作成しようとしていますが、アラームがトリガされておらず、通知も表示されていません。ここではここMainActivity.javaファイルがされている -Androidでアラームを発生させる際に問題が発生する

package com.kaushal28.kaushal1 

import android.app.AlarmManager; 
import android.app.PendingIntent; 
import android.content.Context; 
import android.content.Intent; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.widget.Toast; 

import java.util.Calendar; 
import java.util.GregorianCalendar; 

public class MainActivity extends AppCompatActivity { 



    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     scheduleAlarm(); 
    } 

public void scheduleAlarm() 
{ 

    Long time = new GregorianCalendar().getTimeInMillis()+10000; 
    Intent intentAlarm = new Intent(this, AlarmReciever.class); 

    AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE); 

    alarmManager.set(AlarmManager.RTC_WAKEUP,time, PendingIntent.getBroadcast(this,1, intentAlarm, PendingIntent.FLAG_UPDATE_CURRENT)); 
    Toast.makeText(this, "Alarm Scheduled", Toast.LENGTH_LONG).show(); 
    } 
} 

そして、ここではAlarmRecieverクラスである -

package com.kaushal28.kaushal1; 

import android.app.Notification; 
import android.app.NotificationManager; 
import android.app.PendingIntent; 
import android.content.BroadcastReceiver; 
import android.content.Context; 
import android.content.Intent; 
import android.media.RingtoneManager; 
import android.net.Uri; 

public class AlarmReciever extends BroadcastReceiver 
{ 
    @Override 
    public void onReceive(Context context, Intent intent1) 
    { 

     System.out.println("Notification setup"); 
     Uri sound =  RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION); 
     Intent intent=new Intent(context,MainActivity.class); 
PendingIntent  pendingIntent=PendingIntent.getActivity(context,1,intent,0); 

     Notification notification=new Notification.Builder(context) 
       .setContentText("TESTING NOTIFIACTION") 
       .setContentTitle("Notification") 
       .setContentIntent(pendingIntent) 
       .setSmallIcon(android.R.drawable.sym_def_app_icon) 
       .setSound(sound) 
       .build(); 
NotificationManager notificationManager= (NotificationManager)context.getSystemService(context.NOTIFICATION_SERVICE) ; 
notificationManager.notify(1,notification); 




    } 
} 

そして、ここでは私のmenifest.xmlファイルです:私は欠けている何

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="com.kaushal28.kaushal1"> 
<uses-permission android:name="android.permission.WAKE_LOCK"></uses- permission> 
<receiver android:process=":remote" android:name=".Alarm"></receiver> 
<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> 
</application> 

</manifest> 

ここに?どんな助けもありがとう。

+1

は、マニフェストファイル内のレシーバーですか?また、あなたのインデントを修正してください:) –

+0

私のmenifestファイル@LaurIvanを参照してください –

+0

まあ、マニフェストファイルで[あなたの受信者を追加する](https://developer.android.com/training/scheduling/alarms.html)する必要があります。そうでなければ、あなたのアプリはそれを "見る"ことはなく、意図は破棄されます。 –

答えて

0

the docsに従って追加する必要があるマニフェストファイルに受信者がありません。

簡潔にするために、私は関連ビット言い換え:

アプリのマニフェストファイルに受信機を追加します。

<receiver android:name=".AlarmReciever" 
     android:enabled="false"> 
</receiver> 
+0

は 'reciever'を追加しても動作しません –

関連する問題