Android8.0 브로드캐스트 전송 및 수신자를 사용자 정의할 때의 문제
7707 단어 Android
우선 8.0 이전에 방송 수신자를 사용자 정의할 때의 코드를 붙여 놓으세요.먼저 방송을 보내는 단추를 정의해서 방송을 보내는 데 사용합니다
Intent intent = new Intent();
intent.setAction("com.itcast.interceptcall.broadcast");
intent.putExtra("data","data");
sendBroadcast(intent);
여기에 무질서한 방송을 보내고 위에서 보낸 방송을 받기 위해
BroadcastReceiver
을 새로 만들었다. public class MyBroadCastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
// TODO: This method is called when the BroadcastReceiver is receiving
// an Intent broadcast.
String str = intent.getStringExtra("data");
Log.i("MyBroadCastReceiver ",str);
Log.i("MyBroadCastReceiver "," , ");
Log.i("MyBroadCastReceiver ",intent.getAction());
}
}
새 라디오 수신자를 만들 때 안드로이드스튜디오는 자동으로 목록 파일
AndroidManifst.xml
에 성명을 추가하지만, 우리는 라디오를 보내는 것과 같은 방송 성명을 제시해야 합니다. <receiver
android:name=".BroadCastReceiver"
android:enabled="true"
android:exported="true">
<intent-filter>
<action android:name="com.itcast.interceptcall.broadcast"/>
</intent-filter>
</receiver>
또한 우리는 그 중에서 권한 성명에 가입해야 한다
<permission-->
<!--android:name="com.example.broadcast.permission"-->
<!--android:protectionLevel="normal" />
<uses-permission android:name="com.example.broadcast.permission" />
이렇게 하면 우리는 방송 수신자를 사용자 정의하여 사용자 정의 송신 방송을 수신할 수 있다. 그러나 뒤에 안드로이드 8.0과 이상의 버전에서 이렇게 하면 방송을 수신할 수 없고 프로그램이 끊기지 않는다. 이것은 안드로이드 버전이 방송 송신과 수신에 대한 높은 요구가 있기 때문에 더욱 상세한 설명이 필요하다.정적 등록 브로드캐스트 수신자는 브로드캐스트를 보낼 때 코드를 추가해야 합니다.
intent.setComponent(new ComponentName("com.itcast.interceptcall","com.itcast.interceptcall.BroadCastReceiver"));
//ComponentName ,
사실 동적 등록 수신자일 때는 이렇게 할 필요가 없다.
receiver = new MyReceiver();
IntentFilter filter = new IntentFilter("android.intent.action.MyReceiver");
getActivity().registerReceiver(receiver, filter);
Intent intent = new Intent("android.intent.action.MyReceiver");
getActivity().sendBroadcast(intent);
:
위의 권한 성명 한 조각은 책에서 말한 대로 덧붙였지만 본인은 이 두 가지 권한 성명을 덧붙이지 않아도 방송을 성공적으로 수신하고 발송할 수 있음을 발견하였다.(이곳에는 어떤 권위 있는 성명도 없고 단지 주석일 뿐이다.)
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Bitrise에서 배포 어플리케이션 설정 테스트하기이 글은 Bitrise 광고 달력의 23일째 글입니다. 자체 또는 당사 등에서 Bitrise 구축 서비스를 사용합니다. 그나저나 며칠 전 Bitrise User Group Meetup #3에서 아래 슬라이드를 발표했...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.