私は活動しています。テキストが動的に変化するボタンが含まれています。このテキストを私の放送受信機に渡して、SMSを受信したいと思います。私の放送受信機はテキストを受信し、テキストに基づいてサービスを開始または停止する必要があります。これを行う方法?activityからbroadcastreceiverに値を渡し、ブロードキャスト受信者からサービスを開始してください。
2
A
答えて
5
BroadcastReceiverが別のクラスファイルで定義されている場合は、その受信者に値をブロードキャストするだけでもかまいません。あなたの受信機に
Intent in = new Intent("my.action.string");
in.putExtra("state", "activated");
sendBroadcast(in);
:あなたの活動の
:値を受信すると、受信者のcontext
アップデートを使用してサービスのための魔法を行う
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
Log.i("Receiver", "Broadcast received: " + action);
if(action.equals("my.action.string")){
String state = intent.getExtras().getString("state");
//do your stuff
}
}
でマニフェストxml:
<receiver android:name=".YourBroadcastReceiver" android:enabled="true">
<intent-filter>
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
<action android:name="my.action.string" />
<!-- and some more actions if you want -->
</intent-filter>
</receiver>
1
私は3つの別々のクラスを持っている受信機に意図を送るあなた活性を有し、かつ余分な
Intent i= new Intent(this, YourReceiver.class);
i.putExtra("txt", "the string value");
startActivity(i)
としてテキストを渡し、その後、あなたの受信機では、startService function
+1
startActivityは、活動に値を渡すために使用されます..私は活動から受信者に値を渡したいと思います – xyzandroid
関連する問題
- 1. ブロードキャスト受信者から画像アクティビティを選択して開始
- 2. ブロードキャスト受信者からサービスに文字列値を渡します。
- 3. ブロードキャスト受信者のスケジュールを変更してください
- 4. ブロードキャスト受信者クラスからのPATICULAR SMS受信時のアクティビティの開始方法
- 5. ブロードキャストを受信していないサービス内のBroadcastReceiver Android
- 6. ActivityからBroadcastReceiverにデータを渡す
- 7. ActivityからBroadcastReceiverへのパラメータの受け渡し
- 8. ブロードキャスト受信機を使用してAndroidサービスを開始する
- 9. サービスからブロードキャスト受信者にデータを渡している間にNullpointerExceptionが発生する
- 10. サービス内のブロードキャスト受信者
- 11. ブロードキャスト受信者に整数を渡す
- 12. Android:アクティビティからブロードキャスト受信者への値を
- 13. BroadcastReceiverのActivityからSharedPreferencesへの値を送信
- 14. Webhookを受信してから待ってください
- 15. ブロードキャスト受信者からリスナー&サービスを登録解除するには
- 16. アプリケーションがAndroidで終了したときに、ブロードキャスト受信者からのアクティビティを開いてみませんか?
- 17. ブロードキャスト受信機によるサービスの自動開始
- 18. activityからbroadcastReceiverにデータを渡すには?
- 19. コードネームワンSMSブロードキャスト受信者とサービス
- 20. 加入者が(.nextから値を受信していない)
- 21. AlarmManagerによって開始されたサービスから新しいアラームを開始
- 22. 受信を動的に登録するサービスを開始する受信者
- 23. 画面上の受信者からの開始遅延アクティビティ
- 24. BroadcastReceiverクラスからインテントを開始
- 25. BroadCastReceiverを開始するアクティビティから
- 26. ブロードキャスト受信者からフラグメントを変更する
- 27. ArrayAdapterからActivityに値を渡す
- 28. マニフェストで宣言されたBroadcastReceiverがブロードキャストを受信していません
- 29. ブロードキャスト受信者が着信SMSメッセージを受信していない
- 30. android - SMS受信ブロードキャスト受信者が中止されました
を使用してサービスを開始することができます私の活動、受取人とサービスのために。私はIntentを使って自分のアクティビティから値を送信しようとしました=新しいIntent();バンドルバン=新しいバンドル();bun.putString( "state"、 "activated"); in.putExtras(bun); sendBroadcast(in); - ブロードキャストレシーバーを使ってこれを受信する方法。注:私のブロードキャストレシーバーはすでにバンドルを使用してSMSを受信しており、それに基づいていくつかの操作を実行しています。 – xyzandroid
BroadcastReceiverはインテント内で定義された**アクション**文字列で動作します。ですから、例えば 'in.setAction(" my.action.string ");のように、それをブロードキャストする前に定義する必要があり、' intent.getAction() 'を使ってこのアクション文字列を受信機で捕捉する必要があります。あなたの受信機が 'intent-filter *セクションで' my.action.string'を定義していることを確認してください – waqaslam
その文字列は何でもかまいませんか?マニフェストで使用されているアクションを渡す必要がありますか? – xyzandroid