1

我正在處理自定義拖放器。到目前爲止,我可以讓用戶選擇他想使用的拖鞋,但是當他選擇我的拖鞋時,他想撥打的號碼不會被打亂;而是顯示我的活動。如何將BroadcastReceiver內容傳遞給同一Java類中的Activity

我希望它根據所選號碼顯示撥打電話並顯示我的活動。

public class myActivity extends TabsActivity { 

private OneActivity bb; 
private String oldNumber2; 
@Override 

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    class OneActivity extends BroadcastReceiver { 

     public void onReceive(Context context, Intent intent) {         
      final String Number1 = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER); 
      Toast.makeText(context, Number1, Toast.LENGTH_LONG).show(); 
      Intent dial = new Intent(Intent.ACTION_CALL,Uri.parse("tel:" + Number1)); 
      launch.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
      context.startActivity(dial); 
     } 
    } 

當我檢查日誌,我發現該電話號碼被裝入BoradcastReceiver但不dailed出來。請幫助

回答

0

您可以使用setter/getter方法來達到此目的。

看到這個例子中,首先創建一個單獨的類文件

public class passData 
{ 
    private String number; 

    public void setNumber (String number) 
    { 
     this.number = number; 
    } 

    public String getNumber() 
    { 
     return number; 
    } 
} 

現在,您需要使用set方法來設置你的數字1變量,這個類的方法,你可以在任何其他類別獲得其價值或在整個項目活動中。

+0

@路西法,請您與問候BroadcastReceiver.class闡述更多。謝謝 – 2012-02-07 14:19:40

+0

當然,你想知道什麼,告訴我。 – Lucifer 2012-02-07 14:34:46

+0

好的,你可以從我的代碼中看到。 OneActivity擴展了BroadcastReceiver,它的onReceive我得到了成功的價值,但它並沒有打消它。雖然,我已經按照user906的建議進行了更正,但它仍然不起作用 – 2012-02-07 14:52:28

0

試試這個

Intent dial = new Intent(Intent.ACTION_CALL,Uri.parse("tel:" + Number1)); 
dial.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
context.startActivity(dial); 

添加下面的體現

<uses-permission android:name = "android.permission.CALL_PHONE"/> 
+0

非常感謝。但它仍然不會觸發撥號意圖。 – 2012-02-07 14:07:32

+0

嘗試製作一個擴展廣播接收器而不是作爲onCreate()中的內部類的獨立類, – user936414 2012-02-08 05:35:47

相關問題