gpt4 book ai didi

java - 如何从 Activity 中提取Android服务中的字符串值?

转载 作者:行者123 更新时间:2023-12-01 04:59:45 25 4
gpt4 key购买 nike

如何从 Activity 中提取 Android 服务中的字符串值?

我的 Activity 有编辑文本,输入的字符串必须在我的服务中接收。

TempLaunch.java:

公共(public)类 TempLaunch 扩展了 Activity {

  private EditText text;
private Button okbtn;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.templaunch);

addListenerOnButton();

}

public void addListenerOnButton() {

text = (EditText) findViewById(R.id.edittext_newid);
okbtn = (Button) findViewById(R.id.button_newid);


okbtn.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {

Toast.makeText(TempLaunch.this, "In Temp launch class ",Toast.LENGTH_SHORT).show();
Toast.makeText(TempLaunch.this, text.getText(),Toast.LENGTH_SHORT).show();


Intent intent = new Intent(getApplicationContext(), MainActivity.class);



Toast.makeText(TempLaunch.this, "I am in Main activity class ",Toast.LENGTH_SHORT).show();
startActivity(intent);

}

});


Intent i = new Intent(this, MusicService.class);

i.putExtra("DD_URL", text.getText().toString());

//startActivity(i);



}
}

MusicService.java公共(public)类 MusicService 扩展了服务 {

@Override
public void onCreate() {
super.onCreate();

String url = null;



Intent intent = getIntent();
String id = intent.getStringExtra("DD_URL");

System.out.println("Rosh :" + id);
Toast.makeText(MusicService.this, "I am in Service:"+ id,Toast.LENGTH_SHORT).show();

...

请在这方面帮助我。

提前致谢

最佳答案

您可以使用sendBroadcast(intent);它将广播 Activity A 中的 EditText。

那么您需要调用onReceive(Context context, Intent intent)在您的服务级别内。当 BroadcastReceiver 接收 Intent 广播时调用此方法,在您的情况下将从 Activity A 发送。

   private final BroadcastReceiver receiver = new BroadcastReceiver() 
{
@Override
public void onReceive(Context context, Intent intent)
{
// Do something
}
};

//Register your receiver in onResume:

@Override
protected void onResume()
{
super.onResume();
IntentFilter filter = new IntentFilter();
filter.addAction("SOME_ACTION");
registerReceiver(receiver, filter);
}

//Unregister the receiver in onPause:

@Override
protected void onPause()
{
super.onPause();
unregisterReceiver(receiver);
}

关于java - 如何从 Activity 中提取Android服务中的字符串值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13548775/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com