BroadcastrReceiver在不同app之間的初次使用

BroadcastrReceiver廣播可以在不同的APP之間發(fā)廣播,以便不同的app之間進行通信。兩個app之間通過廣播進行通信的時候,發(fā)送廣播的一方不必去新建BroadcastrReceiver,只需要發(fā)送廣播就行了。
發(fā)送端APP代碼如下

Intent intent=new Intent();
//setAction就是指設置這條廣播的描述信息,描述一下是做什么的,這個參數(shù)是自定義的
intent.setAction("com.aodlanucher.intent.startCall");
//setPackage就是指設置這條廣播發(fā)給的指定app的包名,必須設置包名
intent.setPackage("com.example.myapplication");
//intent是可以攜帶一些信息的,key-value的形式,自己定義key值
String[] s=new String[2];
s[0]="2";
s[1]="13343289929";
intent.putExtra("boardInfo",s);
//activity下屬的方法,發(fā)送廣播
sendBroadcast(intent);

接收端APP首先需要寫一個響應廣播的廣播類,這里必須重寫onReceive方法,里面包含響應廣播后需要執(zhí)行的操作。

public class BoardCastReciever extends BroadcastReceiver {
    @SuppressLint({"WrongConstant", "ShowToast"})
    @Override
    public void onReceive(Context context, Intent intent) {
        String[] s=intent.getStringArrayExtra("boardInfo");
        //取一下intent中所攜帶的參數(shù)
        if(s!=null){
            Toast.makeText(context, "收到上個的廣播"+s[0]+s[1],1).show();
        }
        else {
            Toast.makeText(context, "收到上個的廣播",1).show();
        }
        //啟動app的Activity
        Intent intent1=new Intent(context,MainActivity.class);
        context.startActivity(intent1);
    }
}

如果想要廣播生效,也就是能響應發(fā)來的信息
需要配置<AndroidMainifest文件>

        <receiver
            android:name=".BoardCastReciever"
            >
            <intent-filter>
                //這里的action name 就是發(fā)送廣播時自定義的字段,必須設置
                <action android:name="com.aodlanucher.intent.startCall" />
            </intent-filter>
        </receiver>
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 1.廣播的分類 (1)按照發(fā)送的方式分類 標準廣播是一種異步的方式來進行傳播的,廣播發(fā)出去之后,所有的廣播接收者幾...
    曹豐斌閱讀 34,293評論 0 22
  • 【Android 廣播】 BroadcastReceiver簡介 BroadcastReceiver(廣播接收器)...
    Rtia閱讀 3,551評論 1 17
  • 內容目錄 廣播的定義 廣播的用途(信息傳輸與共享和通知) 廣播的使用場景 廣播主要的種類(普通廣播、有序廣播和本地...
    sssssss_閱讀 624評論 0 1
  • JAVA 8種基本類型 1.byte(位)8位2.short(短整數(shù))16位3.int(整數(shù))32位4.long(...
    小夫哥閱讀 2,628評論 0 18
  • 序:很多都是自己的個人理解,不一定非常準確,供大家參考學習 大家應該都用過進程間的通訊,那有沒有想過一個問題,進程...
    _水藍閱讀 1,007評論 0 3

友情鏈接更多精彩內容