将扫描结果列表从Wifi添加到意图中,并从广播接收器中检索



我想添加一个列表作为一个参数传递到一个意图,然后从广播监听器接收它,但我有一些麻烦。我不知道如何把这个列表到Intent作为一个额外的,或检索列表从它。我可以进入广播接收器。

//In my Main File: Everthing is registered and working. 
IntentFilter startUsingScanResults = new IntentFilter("StartUsingScanResults");
c.registerReceiver(serviceConsume.ScanResultReceiver, startUsingScanResults); 
List<ScanResult> scanResults = Some values; 
Intent intent = new Intent();
intent.setAction("StartUsingScanResults");
// Then Need to put the List<ScanResults> into the intent.
// ie: intent.putExtra("MyResults", scanResults);
Context.sendBroadcast(intent);

//我的广播接收器,里面应该有列表。

    public BroadcastReceiver ScanResultReceiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
            Bundle extras = intent.getExtras();
            // Need something here to get the list 
            // ie: List<ScanResult> scanResults = extras.getBundle("MyResults"); 
}
};

希望我对这个问题很清楚。我只需要把列表放入并从bundle(或intent)中获取list。

ScanResult的格式 [",",",",",","] 如果有帮助。所以我猜它可能类似于多维数组。

任何帮助都是感激的!由于

我明白了。我喜欢简单的解决方案,这是最简单的了。

意图。putParcelableArrayListExtra("ScanResults", (ArrayList) ScanResults);

And Add this to Broadcast receiver

ArrayList scanResults = extras.getParcelableArrayList(" scanResults ");

所以最终结果是:

//In my Main File:
IntentFilter startUsingScanResults = new IntentFilter("StartUsingScanResults");
c.registerReceiver(serviceConsume.ScanResultReceiver, startUsingScanResults); 
List<ScanResult> scanResults = Some values; 
Intent intent = new Intent();
intent.setAction("StartUsingScanResults");
intent.putParcelableArrayListExtra("ScanResults", (ArrayList<? extends Parcelable>) scanResults);
Context.sendBroadcast(intent);
// And my broadcast receiver 
   public BroadcastReceiver ScanResultReceiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
            Bundle extras = intent.getExtras();
    ArrayList<ScanResult> scanResults = extras.getParcelableArrayList("ScanResults");
}
};

希望这能帮助到有类似情况的人。

最新更新