gpt4 book ai didi

java - 应用程序长时间不活动后自动短信不起作用

转载 作者:行者123 更新时间:2023-12-02 13:19:59 25 4
gpt4 key购买 nike

在这里,我制作了应用程序,它监听收到的每条短信,然后根据定义的条件发送短信。这个应用程序在有限的时间内完美运行,没有问题。但应用程序长时间不活动(即 12 小时)后,它不会发送任何短信以接收任何短信。在此不活动期间,用户正在使用手机调用电话,但未对应用程序执行任何操作。如果我看到应用程序信息状态,则表明应用程序正在运行。由于它一开始工作正常,但后来就没有响应,因此看起来代码没有任何问题。请帮助我理解这个问题。非常欢迎任何专家建议。

    public class IncommingSMS2 extends BroadcastReceiver {

public static String phoneNumber;
Timer timer = new Timer();

public void onReceive(final Context context, Intent intent) {
Bundle bundle = intent.getExtras();
try {
if (bundle != null) {
Object[] pdusObj = (Object[]) bundle.get("pdus");
for (int i = 0; i < pdusObj.length; i++) {
SmsMessage currentMessage = SmsMessage.createFromPdu((byte[]) pdusObj[i]);
phoneNumber = currentMessage.getDisplayOriginatingAddress();
String message = currentMessage.getDisplayMessageBody();
Log.i("SmsReceiver", "senderNum: " + phoneNumber + "; message: " );

if (Objects.equals(message, "Where")) {
SmsManager smsManager = SmsManager.getDefault();
smsManager.sendTextMessage(phoneNumber, null, "test", null, null);

}

} // bundle is null
}

} catch (Exception e) {
Log.e("SmsReceiver", "Exception smsReceiver" + e);
}
}
}

这里我有 list 。

    <uses-permission android:name="android.permission.RECEIVE_SMS"></uses-permiss‌​ion>                                                     
<uses-permission android:name="android.permission.READ_SMS" />
<uses-permission android:name="android.permission.SEND_SMS"></uses-permission‌​>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<receiver android:name=".IncommingSMS2">
<intent-filter android:priority="999">
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
</intent-filter>
</receiver>

最佳答案

在Android list 文件中给出这样的内容

  <uses-permission android:name="android.permission.RECEIVE_SMS"/>
<uses-permission android:name="android.permission.READ_SMS" />
<uses-permission android:name="android.permission.SEND_SMS"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<receiver android:name=".IncommingSMS2" android:exported="true">
<intent-filter android:priority="999">
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
</intent-filter>
</receiver>

所以,它具有高优先级,那么它会在应用程序的 Activity 中长时间运行

关于java - 应用程序长时间不活动后自动短信不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43607209/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com