1

マニフェスト ファイルでインテント フィルターを試すと、うまくいきましたが、Java で試してみると、IntentFilter オブジェクトを作成するようになりましたが、うまくいきませんでした

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プログラミングの初心者です。これについて説明をお願いします

4

1 に答える 1

-1

あなたは任意の番号にダイヤルしようとしていると思います。特定の番号にダイヤルするには、次のコードを使用できます。

Intent intent = new Intent(Intent.ACTION_CALL);
intent.setData(Uri.parse("tel:" + YOUR_NUMBER));
startActivity(intent);

インテント フィルターを使用する必要はありません。

このリンクをチェックすることはできますが...役立つかもしれません。

AndroidでIntentFilterに「addAction」できません

于 2013-01-01T09:56:13.150 に答える