如何在android中为拨号操作设置意图过滤器?

Sak*_*ain 2 android android-intent

我正在尝试创建一个简单的拨号盘。我创建了所有这些,现在我喜欢从其他应用程序接收操作拨号意图。

<intent-filter>

       <action android:name="android.intent.action.DIAL" />

       <category android:name="android.intent.category.DEFAULT" />

       <data android:xxxxxx="XXXXXX" />

</intent-filter>
Run Code Online (Sandbox Code Playgroud)

现在我不知道应该用动作过滤器中的数据填充什么。谁能帮我 ?提前致谢。

Sak*_*ain 5

这是应该使用的意图过滤器。

<intent-filter>
<action android:name="android.intent.action.CALL_DIAL" />                
<category android:name="android.intent.category.LAUNCHER" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="tel" />
</intent-filter>
Run Code Online (Sandbox Code Playgroud)

我们可以onCreate像这样从方法中读取电话号码。

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


        //start reading here
        Intent intent = getIntent();
        if(intent.getData()!=null){
            Log.d("intent received",intent.getData().toString());
            String phoneNumber = intent.getData().toString(); //contains tel:phone_no
            phoneNumber = phoneNumber.substring(4);
            Log.d("intent received","Received phone number : "+phoneNumber);
                  /// do what you like here
        }else{
            Log.d("intent received","null intent received");
        }
}
Run Code Online (Sandbox Code Playgroud)