1

嘿我一直在尝试从我的活动传递一个字符串数组广播接收器,但它总是让我在广播接收空我已经尝试过2-3种方式。从活动传递参数到BroadcastReceiver

// 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"); 

但直到现在没有人能帮助我解决这个问题吗?

回答

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() 
上面的代码行

检索类似的方式来设置

0

首先,你为什么试图从一个活动与广播接收器进行通信?这是非常不寻常的行为,它暗示了代码组织问题。

二,你为什么用android.intent.action.PHONE_STATE?我相当确信您不会为Google工作。因此,您不应该使用系统定义的操作字符串。事实上,这很可能是您的困难之源 - 我怀疑您可以发送该广播。

+0

我以扩展应用程序中的类来完成它,并通过应用程序调用我的变量范围,现在它对我的工作很好 –

相关问题