我有一個廣播接收器,用於監聽所有撥出的電話。在另一個活動中,我使傳出呼叫。在我的BC中,我希望能夠確定在活動中創建了哪些呼叫,因此我在撥打電話時使用putExtras()
來放置標記字段。問題是,在BC的onReceive()
我根本沒有看到額外的數據字段(返回null)。從廣播接收器收到意向時缺少附加功能
下面是相關活動代碼:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
appGlobal gState = (appGlobal)getApplicationContext();
dh = gState.getSqlDataHelper();
Bundle extras = getIntent().getExtras();
if(extras != null)
{
phoneNumber = extras.getString("number");
}
makePhoneCall();
finish();
}
private void makePhoneCall()
{
if (phoneNumber.length() < 1) {
return;
}
String url = "tel:" + phoneNumber;
Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse(url));
intent.putExtra("number", "bla");
startActivity(intent);
}
而且這裏是有關BC代碼:
public class CallMeNotServiceCallReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Bundle bundle = intent.getExtras();
if (intent.getStringExtra("number") != null)
{ Log.w("bla", "HAS KEY!!!"); }
...
請問這種情況需要的PendingIntent?
廣播接收器_does_被調用,只是額外不在那裏。據我所知,我有 - 要使用startactivity撥打電話,不是嗎? – Suan 2011-02-03 04:04:37