Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 安排一个不适用于发送文本消息的任务,特别是重复的时间间隔_Java_Android_Alarmmanager_Android Alarms_Repeatingalarm - Fatal编程技术网

Java 安排一个不适用于发送文本消息的任务,特别是重复的时间间隔

Java 安排一个不适用于发送文本消息的任务,特别是重复的时间间隔,java,android,alarmmanager,android-alarms,repeatingalarm,Java,Android,Alarmmanager,Android Alarms,Repeatingalarm,我需要安排一个任务使用Alarm Manager发送一条文本消息,并且我需要每隔1分钟重复发送一次 我真的非常感谢任何关于同样的帮助。提前谢谢 这是我写的代码 AndroidManifest.xml <uses-permission android:name="android.permission.WAKE_LOCK"/> <uses-permission android:name="com.android.alarm.permission.SET_ALARM"/> &

我需要安排一个任务使用Alarm Manager发送一条文本消息,并且我需要每隔1分钟重复发送一次

我真的非常感谢任何关于同样的帮助。提前谢谢

这是我写的代码

AndroidManifest.xml

<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-permission android:name="com.android.alarm.permission.SET_ALARM"/>
<uses-permission android:name="android.permission.SEND_SMS"> </uses-permission>

<uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="21" />

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name=".SMSScheduler"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

<service android:name=".MyAlarmService" android:enabled="true" />

<receiver android:process=":remote" android:name=".MyReceiver" /> 
MyReceiver.java

SMSMessageManifest.XML


除了PendingIntent.getBroadcast中的requestCode参数外,您的代码似乎正常

您能否尝试使用非零值:

Intent myIntent = new Intent(SMSScheduler.this, MyReceiver.class);
        pendingIntent = PendingIntent.getBroadcast(SMSScheduler.this, 0, myIntent,PendingIntent.FLAG_UPDATE_CURRENT);

如果问题没有解决,请提供更多有关问题的详细信息。

我想我发现了错误。在setRepeating方法中,用System.currentTimeMillis替换触发器参数

alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), delay, pendingIntent);

谢谢你的回复,劳伦特,但这没有帮助@JNL怎么了,警报从未激活或只有一次?警报从未激活。我希望计时器在将来的某个时间启动。。因此,触发器设置在未来日期。否。仍然不发送短信。我有一个与发送通知非常相似的应用程序。它在那边工作得很好,但不是在发送短信时。谢谢你的时间和帮助Laurent。捕获了AndroidManifest.xml文件中的错误。
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.smsmessaging"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-permission android:name="android.permission.WAKE_LOCK"/>
    <uses-permission android:name="com.android.alarm.permission.SET_ALARM"/>
    <uses-permission android:name="android.permission.SEND_SMS"> </uses-permission>

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="21" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".SMSScheduler"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

    <service android:name=".MyAlarmService" android:enabled="true" />

    <receiver android:process=":remote" android:name=".MyReceiver" /> 


</manifest>
Intent myIntent = new Intent(SMSScheduler.this, MyReceiver.class);
        pendingIntent = PendingIntent.getBroadcast(SMSScheduler.this, 0, myIntent,PendingIntent.FLAG_UPDATE_CURRENT);
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), delay, pendingIntent);