實際解決adb shell am broadcast 傳入參數到程序中

通過adb命令和廣播形式傳入參數到程序中

目的:程序中要接收通過adb廣播傳來的包名,包名以字符串形式傳入

命令:

adb shell am broadcast -a <action> --es string "字符串"


代碼:動態註冊監聽器,不用再manifest文件中註冊

第一步:在onCreat方法中先註冊監聽器

IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction("mobi.acpm.inspeckage.MyReceiver");  //添加事件
MyReceiver myReceiver = new MyReceiver();
getActivity().registerReceiver(myReceiver, intentFilter);

第二步:實現MyReceiver
public class MyReceiver extends BroadcastReceiver {
    public MyReceiver(){

    }
    @Override
    //Once boot completed,start server
    public void onReceive(Context context, Intent intent)
    {
        //從這裏可以看到是否接受到了廣播
        String action = intent.getAction();
        if(action.equals("mobi.acpm.inspeckage.MyReceiver")) {
            //loadSelectedApp(intent.getStringExtra("string")); //getStringExtra就是獲取傳入的字符串
            

            Toast.makeText(context, "" + intent.getStringExtra("string"), Toast.LENGTH_SHORT).show();
        }
    }
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章