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

相关问题