Как передать значение из активности в приемнике вещания? - PullRequest
0 голосов
/ 21 октября 2011

Как прочитать данные из действия в приемнике вещания, если приемник вещания зарегистрирован через файл манифеста ???Пожалуйста, помогите ...

Ответы [ 3 ]

3 голосов
/ 21 октября 2011

Сначала вам нужно сохранить данные в SharedPreferences, а затем передать их в приемник вещания.

Вы можете использовать приведенный ниже код в файле манифеста:

<receiver android:name=".YourReceiver">
    <intent-filter>
        <action android:name="android.intent.action.BOOT_COMPLETED" />
    </intent-filter>
</receiver>

и в коде, который вы можете использовать:

public class YourReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        if(intent.getAction().equals("android.intent.action.BOOT_COMPLETED"))
        {
            //updateWidget();
            SharedPreferences prfs = context.getSharedPreferences("defaul", 0);
            boolean bb=prfs.getBoolean("eer",false);
            alarm=context.getSharedPreferences("def", 0).getString("alarm_time","");
        }
    }
}
0 голосов
/ 08 октября 2013

Не получает значение от действия до класса получателя, который расширяет приемник вещания

Intent inte = new Intent();
    inte.setAction("MyBroadcast");

    inte.putExtra("Phone_number1", phoo1);
    inte.putExtra("Phone_number2",phoo2);
    inte.putExtra("Phone_number3", phoo3);
    sendBroadcast(inte);

Bundle extras = intent.getExtras();
        if (extras != null) {

          String phoo1 = (String) extras.get("Phone_number1");//getting null value
          String phoo2 = (String) extras.get("Phone_number2");
          String phoo3 = (String) extras.get("Phone_number3");
          System.out.println("Value Of Contact Numbers Outside intent in Reciver");
          System.out.println("Value Of First Contact Number"+phoo1);
          System.out.println("Value Of Second Contact Number"+phoo2);
          System.out.println("Value Of Third Contact Number"+phoo3);
}
0 голосов
/ 21 октября 2011

Если вы вызываете широковещательный приемник через код, вы можете позвонить так, как показано ниже

Intent intent1 = new Intent(context, TimeAlarm.class)
intent1.putExtra("var1", "value");
PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0,
             intent1, PendingIntent.FLAG_ONE_SHOT);
...