从后台服务每10秒显示一条自定义消息

时间:2018-01-04 12:56:31

标签: java android service android-broadcastreceiver android-toast

我想在我的应用程序中实现一项功能,以便在应用未启动且手机处于唤醒状态时每10-20秒显示一条自定义消息...

我正在分享你的应用程序中的屏幕截图和推荐应用程序,我想在我的应用程序中使用相同的功能。

应用名称穆斯林的Auto-Athkar

enter image description here

2 个答案:

答案 0 :(得分:0)

Android toast可以在while循环中工作吗? 当推送最小化应用程序时,您必须注册,这通常由

完成
public void onPause () {
}

您必须在Application类中启动服务才能不断运行它。即使用户强制关闭,它也应该运行。 创建自己的服务类:

public class Servicey extends Service {

@Nullable
@Override
public IBinder onBind(Intent intent) {
    return null;
}

@Override
public int begin(Intent intent, int flags, int beginId) {
    // do that shiny stuff with toasts
    return super.begin(intent, flags, beginId);
}

然后在您活动的onCreate()

上启动您的服务
startService(new Intent(this, Servicey.class));

答案 1 :(得分:-1)

这是发送消息的示例代码。

new Thread(new Runnable() {
        @Override
        public void run() {
            // TODO Auto-generated method stub
            while (true) {
                try {
                    Thread.sleep(10000);
                    mHandler.post(new Runnable() {

                        @Override
                        public void run() {
                            // TODO Auto-generated method stub
                            // Write your code for message 
                             sendSMSMessage();
                        }
                    });
                } catch (Exception e) {
                    // TODO: handle exception
                }
            }
        }
    }).start();

protected void sendSMSMessage() {
      phoneNo = txtphoneNo.getText().toString();
      message = txtMessage.getText().toString();

      if (ContextCompat.checkSelfPermission(this,
         Manifest.permission.SEND_SMS)
         != PackageManager.PERMISSION_GRANTED) {
            if (ActivityCompat.shouldShowRequestPermissionRationale(this,
               Manifest.permission.SEND_SMS)) {
            } else {
               ActivityCompat.requestPermissions(this,
                  new String[]{Manifest.permission.SEND_SMS},
                  MY_PERMISSIONS_REQUEST_SEND_SMS);
            }
      }
   }

@Override
   public void onRequestPermissionsResult(int requestCode,String permissions[], int[] grantResults) {
      switch (requestCode) {
         case MY_PERMISSIONS_REQUEST_SEND_SMS: {
            if (grantResults.length > 0
               && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
                  SmsManager smsManager = SmsManager.getDefault();
                  smsManager.sendTextMessage(phoneNo, null, message, null, null);
                  Toast.makeText(getApplicationContext(), "SMS sent.", 
                     Toast.LENGTH_LONG).show();
            } else {
               Toast.makeText(getApplicationContext(), 
                  "SMS faild, please try again.", Toast.LENGTH_LONG).show();
               return;
            }
         }
      }

   }

希望这会对你有所帮助。