1

Hey私は自分のアクティビティからブロードキャストレシーバへの文字列の配列を渡そうとしていますが、ブロードキャストではいつもヌルを返します。Activityから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); 

ですが、受信側の文字列テキストは常にnullになります。私は別の方法でそれを試しましたが、運はありません

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; 
    } 
} 

は、そして、私はアプリケーションを拡張するクラスを使用してそれを行っている

0

まず、アクティビティからブロードキャストレシーバーに通信しようとしていますか?それは、コード構成の問題を示唆している点で、非常に珍しい動作です。

次に、なぜandroid.intent.action.PHONE_STATEを使用していますか?私はあなたがGoogleで働かないとかなり確信しています。したがって、システム定義のアクション文字列を使用すべきではありません。実際には、これがあなたの難しさの原因である可能性はかなりあります。その放送を送信できるかどうかは疑問です。

+0

を設定するための同様の方法を取得するために私の活動のコードの行の上

GlobalVariable appState = ((GlobalVariable) this.activity.getApplication()); appState.getVar() 

を、それと呼ばれるアプリケーションを介して私の変数と呼ばスコープと今私のために働いて良い –

関連する問題