2017-08-23 21 views
-2

我想設置發送短信的時間和日期,當時間和日期來,然後短信自動發送..現在,我成功地使短信發送應用程序,也是時間和日期選擇器....現在。但問題是,如何設置時間和日期發送報警一樣。在我們設定的時間報警如何設置發送短信的時間和日期

public class MainActivity extends AppCompatActivity { 
Button button; 
EditText edittext1,edittext2; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    if (ContextCompat.checkSelfPermission(MainActivity.this, 
      Manifest.permission.SEND_SMS) != PackageManager.PERMISSION_GRANTED) { 
     if (ActivityCompat.shouldShowRequestPermissionRationale(MainActivity.this, 
       Manifest.permission.SEND_SMS)) { 
      ActivityCompat.requestPermissions(MainActivity.this, new String[]{Manifest.permission.SEND_SMS}, 1); 

     } else { 
      ActivityCompat.requestPermissions(MainActivity.this, new String[]{Manifest.permission.SEND_SMS}, 1); 

     } 
    } else { 
     //do 
    } 



    edittext1 = (EditText) findViewById(R.id.editText); 
    edittext2 = (EditText) findViewById(R.id.editText2); 
    button = (Button) findViewById(R.id.button); 
    String number = edittext1.getText().toString(); 

    button.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      String number = edittext1.getText().toString(); 
      String sms = edittext2.getText().toString(); 

      try { 
       SmsManager smsmanager = SmsManager.getDefault(); 
       smsmanager.sendTextMessage(number, null, sms, null, null); 
       Toast.makeText(MainActivity.this, "Send sms", Toast.LENGTH_SHORT).show(); 

      } catch (Exception e) { 

       Toast.makeText(MainActivity.this, "Send sms", Toast.LENGTH_SHORT).show(); 
      } 


     } 

    }); 





    ContentValues values = new ContentValues(); 
    values.put("address", number);//sender name 
    values.put("body", "this is my text"); 
    getContentResolver().insert(Uri.parse("content://sms/inbox"), values); 
} 

@Override 
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) { 
    switch (requestCode){ 
     case 1:{ 
      if(grantResults.length>0&& grantResults[0] ==PackageManager.PERMISSION_GRANTED){ 
       if (ContextCompat.checkSelfPermission(MainActivity.this, 
         Manifest.permission.READ_PHONE_STATE) ==PackageManager.PERMISSION_GRANTED){ 
        Toast.makeText(this,"Premission Granted",Toast.LENGTH_SHORT).show(); 

       } 
      }else{ 
       Toast.makeText(this, "NO premiision granted", Toast.LENGTH_SHORT).show(); 
      } 
     } 

    } 
} 

}

我只是想知道,怎麼按自動發送按鈕時集時間和日期...
謝謝

+0

你想添加日期和時間在你的短信?實際上沒有得到你想要添加日期和時間的地方。 –

+0

http://vogella.com/tutorials/AndroidServices/article.html有很多教程可用於在android中創建服務。請參考。 –

+0

不...我只是想在指定的時間和日期自動發送短信 –

回答

0

嘗試使用BroadcastReceiver。您可以接收時間而改變動作,然後上傳您的短信

+0

我試了很多使用BroadcastReceiver但不工作... PLZ給我演示 –

0

在你的活動添加以下代碼與您需要的時間和日期

Calendar calendar = Calendar.getInstance(); 
    calendar.setTimeInMillis(System.currentTimeMillis()); 
    int curHr = calendar.get(Calendar.HOUR_OF_DAY); 
    calendar.set(Calendar.DAY_OF_WEEK, Calendar.THURSDAY); 

    if(calendar.getTimeInMillis() < System.currentTimeMillis()) { 
     calendar.add(Calendar.DAY_OF_WEEK, 7); 
    } 
    calendar.set(Calendar.HOUR_OF_DAY, aHOUR); 
    calendar.set(Calendar.MINUTE, aMINUTE); 
    calendar.set(Calendar.SECOND, aSECOND); 
    Intent intent1 = new Intent(getBaseContext(), YourReciever.class); 
    PendingIntent pendingIntent = PendingIntent.getBroadcast(getBaseContext(), 1, intent1, PendingIntent.FLAG_UPDATE_CURRENT); 
    AlarmManager am = (AlarmManager) getSystemService(Context.ALARM_SERVICE); 
    am.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(),pendingIntent); 

現在創建一個廣播接收器,並調用短信OnRecieve發送功能()方法。