Java 报警管理器不工作
我在单击floatingActionButton时使用AlarmManager,但它没有调用alarm类。我通过Toast测试了floatingActionButton,但它工作正常,但我的\u Alarm类中的Toast和可控震源工作不正常,甚至很困难,我在清单中获得了许可。请指出问题所在 以下代码浮动操作按钮中的主活动报警管理器Java 报警管理器不工作,java,android,Java,Android,我在单击floatingActionButton时使用AlarmManager,但它没有调用alarm类。我通过Toast测试了floatingActionButton,但它工作正常,但我的\u Alarm类中的Toast和可控震源工作不正常,甚至很困难,我在清单中获得了许可。请指出问题所在 以下代码浮动操作按钮中的主活动报警管理器 floatingActionButton.setOnClickListener(new View.OnClickListener() {
floatingActionButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, AlarmManager.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(MainActivity.this,5,intent,0);
sendBroadcast(intent);
AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
alarmManager.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis()+1000,pendingIntent);
}
});
}
这是我的警报类吐司和振动不工作
public class My_Alarms extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Toast.makeText(context, "Fuck This Shit", Toast.LENGTH_LONG).show();
Vibrator v = (Vibrator)context.getSystemService(context.VIBRATOR_SERVICE);
v.vibrate(10000);
}
}
这是我的清单文件我已经启用了权限
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".Activity_Time_Setting"
android:grantUriPermissions="true"
></activity>
<activity android:name=".MainActivity">
android:grantUriPermissions="true"
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
android:grantUriPermissions="true"
</intent-filter>
</activity>
<receiver android:name=".My_Alarms"/>
</application>
替换这一行代码:
Intent intent = new Intent(MainActivity.this, AlarmManager.class);
为此:
Intent intent = new Intent(MainActivity.this, My_Alarms.class);
此外,您不需要使用
sendBroadcast(intent);
因为您已经在pending intent中传递了intent,所以请执行此行
最后,尝试从您的广播接收器中删除toast替换这行代码:
Intent intent = new Intent(MainActivity.this, AlarmManager.class);
为此:
Intent intent = new Intent(MainActivity.this, My_Alarms.class);
此外,您不需要使用
sendBroadcast(intent);
因为您已经在pending intent中传递了intent,所以请执行此行
最后,试着从你的广播接收器上取下吐司