如何使用时间选择器?

问题描述

| 我正在为我的应用程序使用时间选择器,该应用程序会根据将来的特定时间发送短信。我已经使用短信管理器准备好短信发送部分。我也有使用
getCurrentHour()
getCurrentMinute()
的用户时间。这是我的代码
 if(phoneNo.length()>0&&message.length()>0)
    {
     sendSMS(phoneNo,message);
    }
      else        
      {
       Toast myToast=Toast.makeText(getBaseContext(),\"Please enter both phone number and message.\",Toast.LENGTH_SHORT);
       myToast.show();
        }
      }
  });
}
如何在特定时间发送短信?     

解决方法

        您需要将
sendSms()
方法移至服务中,然后使用AlamManager使您的服务在正确的时间被唤醒,然后发送您的SMS。 您将需要定义您的服务:
class SmsService extends IntentService
{
    @override
    void onStartCommand( Intent intent,int flags,int startId )
    {
        String number = intent.getStringExtra( \"number\" );
        String message = intent.getStringExtra( \"message\" );

        // Send your SMS here
    }
}
您需要在清单中声明此服务:
<service android:name=\".SmsService\">
    <intent-filter>
        <action android:name=\"mypackage.SEND_SMS\" />
    </intent-filter>
</service>
最后,您需要设置闹钟,闹钟将在给定的时间唤醒并发送您的消息:
AlarmManager mgr = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
Intent intent= new Intent( \"mypackage.SEND_SMS\" );
intent.setExtra( \"number\",number );
intent.setExtra( \"message\",message );
PendingIntent pi = PendingIntent.startService( this,intent,PendingIntent.FLAG_CANCEL_CURRENT );
mgr.set( AlarmManager.RTC_WAKEUP,time,pi );
这将需要从具有扩展或可以访问上下文的活动或服务中调用。     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...