2010-09-22 19 views
1

我有這個活動,持有2個意圖過濾器,我的問題是不使用這項活動的設備1.6和之前,因爲我希望他們使用本地聯繫人。如何通過代碼在活動中添加IntentFilter?

謝謝!

+0

這裏是simialar問題:http://stackoverflow.com/questions/3937006/adding-intent-to-activity-dynamically。簡短的回答:唉這是不可能的=( – 2012-04-18 13:10:24

回答

2
public class A extends Activity { 
    public A { 
     IntentFilter filter = new IntentFilter(YOUR_BROADCAST); 
     filter.addAction(YOUR_BROADCAST_2); 
     registerReceiver(mReceiver, filter); 
    } 

    private final BroadcastReceiver mReceiver = new BroadcastReceiver() { 
     @Override 
     public void onReceive(Context context, Intent intent) { 
      // code here 
     } 
    }; 
} 

首先你聲明你的過濾器 - 你可以add multiple actions單個過濾器。 然後,您需要註冊BroadcastReceiver,然後在抵達時使用。

+0

基本上這是一個解決方法? – Mikey 2010-09-23 05:44:19

+0

問題標題是「如何在活動代碼中添加IntentFilter」:)所以基本上,如果你需要判斷你的基於設備的功能 - 這將是要走的路 - 如果只有1.6可用,請在代碼中檢查並且不要註冊過濾器。 – 2010-09-23 06:47:21