首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何以编程方式使用IntentFilter?

如何以编程方式使用IntentFilter?
EN

Stack Overflow用户
提问于 2013-01-01 17:45:50
回答 1查看 6.2K关注 0票数 1

当我在Manifest文件上尝试Intent filter时,它工作得很好,但当我在Java上尝试它时,它不能工作,这使我可以创建一个IntentFilter对象

代码语言:javascript
复制
public class MainActivity extends Activity {

Intent dialIntent;
IntentFilter filter;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    Button btnDial = (Button)findViewById(R.id.btnDial);
    final EditText txtNumber = (EditText)findViewById(R.id.txtNumber);
    btnDial.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            dialIntent = new Intent(Intent.ACTION_DIAL, Uri.parse("tel:"+(txtNumber.getText().toString())));
            Uri data = dialIntent.getData();

            filter = new IntentFilter();
            filter.addAction(dialIntent.getAction());
            filter.addCategory(Intent.CATEGORY_DEFAULT);
            filter.addDataScheme(data.getScheme());

            startActivity(dialIntent);
        }
    });
}
}

它只在BroadcastReceiver上有效吗?我已经试过了,但是什么也没发生。如何以编程方式注册IntentFilter?我还是一个Android编程的初学者。请对此给我一些解释

EN

回答 1

Stack Overflow用户

发布于 2013-01-01 17:56:13

我认为你正在尝试拨打任何号码,而要拨打一个特定的号码,你可以使用以下代码:

代码语言:javascript
复制
Intent intent = new Intent(Intent.ACTION_CALL);
intent.setData(Uri.parse("tel:" + YOUR_NUMBER));
startActivity(intent);

不需要使用意图过滤器。

尽管你可以查看这个link...may,但它会对你有所帮助。

cant “addAction” to IntentFilter in android

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14109404

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档