嗨,我目前正在使用AlarmManager.我写了下面给出的代码.根据代码,应在10秒后触发AlarmManager,但在我的代码中,警报管理器会立即触发.请帮忙.
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
AlarmManager alarmManager = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
int alarmType = AlarmManager.ELAPSED_REALTIME_WAKEUP;
long timeOrLengthofWait = 10000;
Intent intentToFire = new Intent(this, AlarmReciever.class);
PendingIntent alarmIntent = PendingIntent.getBroadcast(this, 0, intentToFire, 0);
alarmManager.set(alarmType, timeOrLengthofWait, alarmIntent);
}
}
Run Code Online (Sandbox Code Playgroud)
和我的AlarmReciever类
public class AlarmReciever extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
String phoneNumberReciever="5556";
String message="Alarm Triggered";
SmsManager sms = SmsManager.getDefault();
sms.sendTextMessage(phoneNumberReciever, null, message, null, null);
Toast.makeText(context," A message has been sent", …
Run Code Online (Sandbox Code Playgroud) 嗨,我希望我的应用程序每天在特定时间运行.为此,我使用下面的代码.但它只运行一次.这里的错误是怎么来实现这个任务的.
AlarmManager alarmMgr0 = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
Intent intent0 = new Intent(this, ActivityStarter.class);
PendingIntent pendingIntent0 = PendingIntent.getBroadcast(this, 0, intent0, 0);
Calendar timeOff9 = Calendar.getInstance();
timeOff9.set(Calendar.HOUR_OF_DAY, 16);
timeOff9.set(Calendar.MINUTE, 13);
timeOff9.set(Calendar.SECOND, 0);
alarmMgr0.setRepeating(AlarmManager.RTC_WAKEUP, timeOff9.getTimeInMillis(),24*60*60*1000,pendingIntent0);
Run Code Online (Sandbox Code Playgroud)
请帮忙.
嗨,我想找到单个字符串的校验和.这是校验和的要求.
假设标题+ session + body + message ="这是测试字符串".我想计算这个的校验和.到目前为止,我开发了以下代码.
如果string length(byte[] data)
是4的倍数,则正确计算校验和.
如果"data"不是4的倍数,我会收到异常
"System.IndexOutOfRangeException:索引超出了数组的范围".
我将从用户那里获取具有不同字符串长度的不同输入,因此字符串长度将是可变的(意味着一些时间用户可以仅在q和A中输入ABCDE,依此类推.).如何修复此异常问题并使用4的多个计算正确的校验和.
public string findchecksum(string userinput)
try
{
ASCIIEncoding enc = new ASCIIEncoding();
byte[] data = Encoding.ASCII.GetBytes(userinput);
byte[] checksum = new byte[4];
for (int i = 16; i <= data.Length - 1; i += 4)
{
checksum[0] = (byte)(checksum[0] ^ data[i]);
checksum[1] = (byte)(checksum[1] ^ data[i + 1]);
checksum[2] = (byte)(checksum[2] ^ data[i + 2]);
checksum[3] = (byte)(checksum[3] ^ data[i + 3]);
} …
Run Code Online (Sandbox Code Playgroud)