Android 将参数从活动传递给BroadcastReceiver
嘿,我一直在尝试将一个字符串数组从我的活动传递到广播接收器,但它在广播接收时总是给我空值。我用了2-3种方法进行了尝试Android 将参数从活动传递给BroadcastReceiver,android,parameters,android-activity,parameter-passing,broadcastreceiver,Android,Parameters,Android Activity,Parameter Passing,Broadcastreceiver,嘿,我一直在尝试将一个字符串数组从我的活动传递到广播接收器,但它在广播接收时总是给我空值。我用了2-3种方法进行了尝试 // Code in Receiver String stringText= intent.getExtras().getString("string_text"); //Code in Activity Intent i = new Intent("android.intent.action.PHONE_STATE"); i.putExtra("string_text
// Code in Receiver
String stringText= intent.getExtras().getString("string_text");
//Code in Activity
Intent i = new Intent("android.intent.action.PHONE_STATE");
i.putExtra("string_text", "abc");
sendBroadcast(i);
但在接收端,stringText总是为空。我试过另一种方法,但没有成功
String text= (String)intent.getSerializableExtra("string_text");
但到目前为止,没有人能帮我解决这个问题吗?首先,你为什么要尝试从活动到广播接收器进行通信?这是极不寻常的行为,以至于它暗示了代码组织问题
第二,为什么要使用android.intent.action.PHONE\u STATE?我很有信心你不是谷歌的员工。因此,您不应该使用系统定义的操作字符串。事实上,这很可能是你的困难之源——我怀疑你是否能发送那个广播。首先,你为什么要尝试从活动到广播接收器进行通信?这是极不寻常的行为,以至于它暗示了代码组织问题
public class GlobalVariable extends Application {
private String[] var;
public String[] getVar(){
return var;
}
public void setVar(String[] var){
this.var= var;
}
}
第二,为什么要使用android.intent.action.PHONE\u STATE?我很有信心你不是谷歌的员工。因此,您不应该使用系统定义的操作字符串。事实上,这很可能是你困难的根源——我怀疑你能否发送那个广播
public class GlobalVariable extends Application {
private String[] var;
public String[] getVar(){
return var;
}
public void setVar(String[] var){
this.var= var;
}
}
并在我的活动中称之为
GlobalVariable appState = ((GlobalVariable) this.activity.getApplication());
appState.getVar()
以上代码行以类似的方式进行检索设置
并在我的活动中称之为
GlobalVariable appState = ((GlobalVariable) this.activity.getApplication());
appState.getVar()
上面的代码行检索类似的设置方式我使用了一个扩展应用程序并通过应用程序范围调用我的变量的类,现在它对我的工作很好。我使用了一个扩展应用程序并通过应用程序范围调用我的变量的类,现在它对我的工作很好