嘿我一直试图将我的活动中的一个字符串数组传递给广播接收器,但它总是在广播接收时给我null,我已经用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", "abc");
sendBroadcast(i);
但是在接收端,stringText总是为空。我用另一种方式尝试过但没有运气
String text= (String)intent.getSerializableExtra("string_text");
但到目前为止,没有人可以帮助我解决这个问题吗?
答案 0 :(得分:1)
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()
上面的代码行检索类似的设置方式
答案 1 :(得分:0)
首先,您为什么要尝试从活动到广播接收器进行通信?这是非常不寻常的行为,它表明代码组织存在问题。
其次,你为什么要使用android.intent.action.PHONE_STATE
?我相信你不会为谷歌工作。因此,您不应该使用系统定义的操作字符串。事实上,很可能这是你困难的根源 - 我怀疑你可以发送那个广播。