android – 没有活动发现处理意图与action.DIAL

前端之家收集整理的这篇文章主要介绍了android – 没有活动发现处理意图与action.DIAL前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我似乎缺乏处理这种意图的知识,但是无法找到答案一段时间.

我有一个片段的活动.片段执行此代码,目的是呼叫联系人:

private void onCall() {
    Intent intent = new Intent(Intent.ACTION_DIAL,Uri.parse(contact.getBusinessPhone()));
    startActivity(intent);
}

包括许可

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

输出是没有活动找到处理意图和应用程序崩溃.

这里是显示实现的片段的活动:

<activity android:name="activities.ContactActivity">            
    <intent-filter>
        <action android:name="android.intent.action.DIAL" />
        <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>
</activity>

我究竟做错了什么?我需要在清单中声明的​​一些特殊活动吗?

解决方法

您不需要在清单中声明拨号意图过滤器,并且不需要ACTION_DIAL的任何权限.寻找我的实现
private void startDialActivity(String phone){
    Intent intent = new Intent(Intent.ACTION_DIAL);
    intent.setData(Uri.parse("tel:"+phone));
    startActivity(intent);
}

也很好检查是电话支持的设备

private boolean isTelephonyEnabled(){
    TelephonyManager telephonyManager = (TelephonyManager)getSystemService(TELEPHONY_SERVICE);
    return telephonyManager != null && telephonyManager.getSimState()==TelephonyManager.SIM_STATE_READY;
}

猜你在找的Android相关文章