2016-07-23 2 views
2

私はアンドロイドの初心者です。私は、充電器が差し込まれているか外れている場合、アクティビティのテキストビューのテキストを変更したいと思います。そのために私は意図android.intent.action.ACTION_POWER_CONNECTEDandroid.intent.action.ACTION_POWER_DISCONNECTED充電器がアクティビティに接続されているかどうかを表示するにはどうすればいいですか?

後にマニフェストに受信機を登録している受信機のためのコードです:

public class PowerConnectionReceiver extends BroadcastReceiver { 
@Override 
public void onReceive(Context context, Intent intent) { 

    if(intent.getAction() == Intent.ACTION_POWER_CONNECTED) { 
     //Handle power connected 
     Log.e("Charger State","power connected"); 
     Toast.makeText(context, "Charger PluggedIn", Toast.LENGTH_SHORT).show(); 
    } else if(intent.getAction() == Intent.ACTION_POWER_DISCONNECTED){ 
     //Handle power disconnected 
     Log.e("Charger State","power disconnected"); 
     Toast.makeText(context, "Charger PluggedOut", Toast.LENGTH_SHORT).show(); 
    } 

    } 
} 

これは完全に機能していますが、私は充電器が抜き差しされたときの活動でそれを表示したいです。私の仕事を手助けしてください。

感謝〜

+0

様活性は、Uは、マニフェスト –

+0

YにPowerConnectionReceiverを記述しています私はそれを書いていると私は充電器が接続されているときに私はトーストのメッセージを見ることができます。唯一のことは、MainActivityというアクティビティにメッセージを表示したいということです。 –

+0

アクティビティのテキストビューに接続状態を表示しますか? – SaravInfern

答えて

0

活動

にブロードキャストレシーバーからのデータを渡すために多くの方法がありますが最善の方法は、ちょうどあなたがあなたの中に使用されるコードを書くのバス

compile 'org.greenrobot:eventbus:3.0.0' 

//Some Class 
public class MessageEvent { 
    public final String message; 

public MessageEvent(String message) { 
    this.message = message; 
    } 
} 

//In Activity 
@Override 
    public void onStart() { 
    super.onStart(); 
    EventBus.getDefault().register(this); 
} 

@Override 
public void onStop() { 
EventBus.getDefault().unregister(this); 
super.onStop(); 
} 

//From Broadcast Receiver 
//Add this in the Connected and Disconnected methods 
EventBus.getDefault().post(new MessageEvent("Hello everyone!")); 
+1

詳細 - http://greenrobot.org/eventbus/documentation/how-to-get-started/ –

+1

とにかく放送受信機が必要なので、なぜそれが「最良の方法」ですか? – TDG

+0

おかげで@VeereshCharantimathは完璧に動作しましたが、あなたはここで一つのことを言い逃れました。そうでなければあなたの答えは私を助けました... –

0

を使用することですこの

public class MyActivity extends Activity{ 

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

    mTextView =(TextView) findViewById(R.id.text); 

} 

public class PowerConnectionReceiver extends BroadcastReceiver { 
@Override 
public void onReceive(Context context, Intent intent) { 

    if(intent.getAction() == Intent.ACTION_POWER_CONNECTED) { 
     //Handle power connected 
     Log.e("Charger State","power connected"); 
     mTextView.setText("Charger PluggedIn"); 
     Toast.makeText(context, "Charger PluggedIn", Toast.LENGTH_SHORT).show(); 
    } else if(intent.getAction() == Intent.ACTION_POWER_DISCONNECTED){ 
     //Handle power disconnected 
     Log.e("Charger State","power disconnected"); 
     mTextView.setText("Charger PluggedOut"); 
     Toast.makeText(context, "Charger PluggedOut", Toast.LENGTH_SHORT).show(); 
    }else{ 
     mTextView.setText(""); 
    } 

    } 
} 
関連する問題