将字符串值传递给后台服务

安东尼

请指导我。感谢您的所有帮助。

我的后台服务正在烤ABC

//-------------------字符串显示文本 = "ABC";-----------------

我有两个字符串,ABC 和 DEF 声明在 mainactivity.java

  1. 如何将主活动中的值显示文本传递给此服务。
  2. 吐司 ABC 完成后,如何将显示文本更改为 DEF。

我的服务

public class MyService extends Service {
public static final long INTERVAL=3000;//variable to execute services every 5 second
private Handler mHandler=new Handler(); // run on another Thread to avoid crash
private Timer mTimer=null; // timer handling

//获取意图不起作用。我应该把它放在哪里或如何放?

Intent myIntent = getIntent(); 
    if (myIntent !=null && myIntent.getExtras()!=null)
String value = myIntent.getExtras().getString(PassToService);

@Nullable
@Override
public IBinder onBind(Intent intent) {
    throw new UnsupportedOperationException("unsupported Operation");
}
@Override
public void onCreate() {


    // cancel if service is  already existed
    if(mTimer!=null)
        mTimer.cancel();
    else
        mTimer=new Timer(); // recreate new timer
    mTimer.scheduleAtFixedRate(new TimeDisplayTimerTask(),0,INTERVAL);// schedule task

}


    @Override
public void onTaskRemoved(Intent rootIntent) {
    stopSelf();///its will stop service
    super.onTaskRemoved(rootIntent);
}
@Override
public void onDestroy() {
    Toast.makeText(this, "In Destroy", Toast.LENGTH_SHORT).show();//display toast when method called
    mTimer.cancel();//cancel the timer
    super.onDestroy();

}

//inner class of TimeDisplayTimerTask
private class TimeDisplayTimerTask extends TimerTask {
    @Override
    public void run() {

        // run on another thread
        mHandler.post(new Runnable() {
            @Override
            public void run() {
                // display toast at every 10 second
                //String displayingText = "ABC";
                String displayingText = myIntent.getStringExtra("PassToService");
                final Toast Notify = Toast.makeText(getApplicationContext(), displayingText, Toast.LENGTH_SHORT);
                Notify.setGravity(Gravity.CENTER, 0, 0);
                Notify.show();

                Handler cancelToast = new Handler();
                cancelToast.postDelayed(new Runnable() {
                    @Override
                    public void run() {
                        Notify.cancel();
                    }
                }, 1000);

            }
        });
    }
}

}

希瓦姆·欧贝罗伊

您可以通过将价值从活动传递到服务来实现-

startService(new Intent(YourActivity.Service.class).putExtra("key","value"));

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将字符串数组传递给WCF服务错误

来自分类Dev

将字符串值传递给范围对象

来自分类Dev

将字符串插值传递给宏

来自分类Dev

将文本框值传递给字符串

来自分类Dev

将字符串值传递给Long

来自分类Dev

将值传递给查询字符串

来自分类Dev

Rails - 将变量传递给字符串插值

来自分类Dev

如何将字符串值传递给Webview,例如:传递给youtube”

来自分类Dev

将多个字符串值作为参数从服务器端传递给 javascript 函数

来自分类Dev

将字符串传递给Asyntask

来自分类Dev

将字符串传递给Audio()

来自分类Dev

将字符串传递给函数

来自分类Dev

将字符串传递给函数

来自分类Dev

将等号传递给字符串

来自分类Dev

我应该按值传递字符串还是将指针传递给它?

来自分类Dev

梅森-将字符串映射传递给服务呼叫

来自分类Dev

Android:将JSON字符串传递给服务类“ PostData”

来自分类Dev

如何将 JSON 字符串作为请求参数传递给其他服务

来自分类Dev

将字符串值传递给需要SHA1字符串的WSDL API

来自分类Dev

如何将字符数组传递给字符串

来自分类Dev

将字符串的True / False布尔值传递给函数参数

来自分类Dev

如何将非字符串值传递给Angular指令?

来自分类常见问题

如何将字符串值传递给angular2中的组件

来自分类Dev

Android将R.String.xx值传递给字符串生成器

来自分类Dev

将数组中字符串的值传递给Java中的方法?

来自分类Dev

SAS宏,将值作为字符串传递给where子句

来自分类Dev

将字符串值列表传递给参数化的JUnit测试

来自分类Dev

通过值将字符串以外的所有类型传递给模板函数

来自分类Dev

如何将字符串值传递给JavaScript警报

Related 相关文章

热门标签

归档