Java 如何在手机屏幕被锁定的情况下使近距离警示生效?
我已经创建了一个应用程序,可以通过短信发送Java 如何在手机屏幕被锁定的情况下使近距离警示生效?,java,android,broadcastreceiver,proximity,Java,Android,Broadcastreceiver,Proximity,我已经创建了一个应用程序,可以通过短信发送近距离警示。短信传送很好。但当我的手机屏幕被锁定时,接近警报无法触发警报。我不希望我的手机屏幕一直处于唤醒状态,我仍然希望我的应用程序即使屏幕被锁定或处于睡眠状态也能发出警报。任何解决方案。 这是我在主活动的onCreate() 我的近距离警报的广播接收器 public void onReceive(Context context, Intent intent) { smsNo=intent.getStringExtra("phone");
近距离警示。短信传送很好。但当我的手机屏幕被锁定时,接近警报无法触发警报。我不希望我的手机屏幕一直处于唤醒状态,我仍然希望我的应用程序即使屏幕被锁定或处于睡眠状态也能发出警报。任何解决方案。
这是我在主活动的onCreate()
我的近距离警报的广播接收器
public void onReceive(Context context, Intent intent) {
smsNo=intent.getStringExtra("phone");
String proximityKey= LocationManager.KEY_PROXIMITY_ENTERING;
Boolean entering=intent.getBooleanExtra(proximityKey,false);
if (entering){
Log.d(getClass().getSimpleName(), "entering");
try {
SmsManager smsManager=SmsManager.getDefault();
String[] numbers=smsNo.split(",");
for (String number:numbers) {
smsManager.sendTextMessage(number, null, "School Van will reach your place in 2 mins.\n\u0bb8\u0bcd\u0b95\u0bc2\u0bb2\u0bcd \u0bb5\u0bc7\u0ba9\u0bcd \u0bb5\u0bb0\u0baa\u0bcd\u0baa\u0bcb\u0b95\u0bbf\u0bb1\u0ba4\u0bc1.", null, null);
}
}catch (Exception e) {
Toast.makeText(context, "No Mobile Number", Toast.LENGTH_SHORT).show();
}
}else {
Log.d(getClass().getSimpleName(), "exiting");
Toast.makeText(context,"exiting",Toast.LENGTH_SHORT).show();
}
}
还有一件事,如果我重新启动应用程序,事件会再次触发。
请帮助我始终在后台运行我的应用程序,即使用户关闭它。多谢各位
public void onReceive(Context context, Intent intent) {
smsNo=intent.getStringExtra("phone");
String proximityKey= LocationManager.KEY_PROXIMITY_ENTERING;
Boolean entering=intent.getBooleanExtra(proximityKey,false);
if (entering){
Log.d(getClass().getSimpleName(), "entering");
try {
SmsManager smsManager=SmsManager.getDefault();
String[] numbers=smsNo.split(",");
for (String number:numbers) {
smsManager.sendTextMessage(number, null, "School Van will reach your place in 2 mins.\n\u0bb8\u0bcd\u0b95\u0bc2\u0bb2\u0bcd \u0bb5\u0bc7\u0ba9\u0bcd \u0bb5\u0bb0\u0baa\u0bcd\u0baa\u0bcb\u0b95\u0bbf\u0bb1\u0ba4\u0bc1.", null, null);
}
}catch (Exception e) {
Toast.makeText(context, "No Mobile Number", Toast.LENGTH_SHORT).show();
}
}else {
Log.d(getClass().getSimpleName(), "exiting");
Toast.makeText(context,"exiting",Toast.LENGTH_SHORT).show();
}
}