Как программно установить атрибуты приемника вещания?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как программно установить атрибуты приемника вещания?

Сообщение Anonymous »

Я транслирую намерение в своем приложении и получаю его с помощью широковещательного приемника. Я могу справиться с трансляцией и приемом. С этим нет проблем. Однако я хочу зарегистрировать приемник полностью программно, а не делать это в файле манифеста. Обратите внимание, что в файле манифеста есть два атрибута получателя: android:enabled="true" и android:exported="false". Мне нужно знать, как мне конкретно установить эти два атрибута при программной регистрации приемника?
Мой файл AndroidManifest.xml: Мой файл MainActivity.java:

Код: Выделить всё

public class MainActivity extends AppCompatActivity implements View.OnClickListener {
MyBroadcastReceiver myReceiver;
IntentFilter intentFilter;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
myReceiver = new MyBroadcastReceiver();
intentFilter = new IntentFilter();
intentFilter.addAction("com.example.mybroadcastapplication.EXPLICIT_INTENT");
findViewById(R.id.button1).setOnClickListener(this);
}

public void broadcastIntent() {
Intent intent = new Intent();
intent.setAction("com.example.mybroadcastapplication.EXPLICIT_INTENT");
getApplicationContext().sendBroadcast(intent);
}

@Override
protected void onPostResume() {
super.onPostResume();
registerReceiver(myReceiver, intentFilter);
}

@Override
protected void onStop() {
super.onStop();
unregisterReceiver(myReceiver);
}

@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.button1:
broadcastIntent();
break;
default:
}
}
}
Мой файл MyBroadcastReceiver.java:

Код: Выделить всё

public class MyBroadcastReceiver extends BroadcastReceiver {

@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction() != null && intent.getAction().equals("com.example.mybroadcastapplication.EXPLICIT_INTENT"))
Toast.makeText(context, "Explicit intent received.", Toast.LENGTH_LONG).show();
}
}
С уважением

Подробнее здесь: https://stackoverflow.com/questions/715 ... mmatically
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»