2015-08-15 102 views
0

我只想播放音乐一次,但每分钟播放的代码播放它我该怎么办?重复报警一次(报警管理器)

public class MainActivity extends AppCompatActivity { 
Button BT; 
PendingIntent pendingIntent; 
public void func() 
{ 
    AlarmManager alarmManager=(AlarmManager) getSystemService(Context.ALARM_SERVICE); 
    alarmManager.setInexactRepeating(AlarmManager.RTC_WAKEUP,System.currentTimeMillis(),1*60*1000,pendingIntent); 
} 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    Intent intent=new Intent(MainActivity.this,sv.class); 
    pendingIntent=PendingIntent.getBroadcast(MainActivity.this,0,intent,0); 
    BT=(Button) findViewById(R.id.button); 
    BT.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
     func(); 
     } 
    }); 
} 

回答

0

你有警报类型'setInexactRepeating' - 正如它暗示的那样...重复。尝试使用'set'代替。有更多的信息在这里:http://developer.android.com/reference/android/app/AlarmManager.html

+0

不幸的是不工作...我想我的闹钟重复只有一次 –

+0

对不起误解了你的问题,你实际上想要一个警报两次,而不是一次我明白吗?你可以在你用pendingIntents包装的意图中传递额外的内容,这样你就可以增加一个int值,并且每次从报警onReceive中触发你的pendingIntent,你可以检查这个值是否在你的限制之内,如果是的话,设置另一个报警,如果没有,取消闹钟。 –