找不到处理意图操作.dial的活动。

22

我想让我的应用从EditText中拨打一个电话号码,但是我遇到了以下问题:

android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.DIAL dat=Ring Tel nr. 123456789 }

我已经搜索了一段时间,但大多数答案都是关于权限和将活动添加到清单中。 如果我没有做错的话,我已经都做了。 而且我正在手机上运行它,而不是模拟器。 我尝试过有和没有使用intent-filters。 这里是代码: 清单:<uses-permission android:maxSdkVersion="19" android:name="android.permission.CALL_PHONE"/>

        <activity
        android:name="nu.sluggo.testapp.annons.Activity2">
        <intent-filter>
    <action android:name="android.intent.action.DIAL" />
    <category android:name="android.intent.category.DEFAULT" />
</intent-filter>
        knapp_ring.setOnClickListener(new View.OnClickListener() {
        Intent call = new Intent(Intent.ACTION_DIAL);
        @Override
        public void onClick(View v){
            call.setData(Uri.parse("Telnr:" + a1));
            startActivity(call);
        }
    });

已解决:https://dev59.com/sY7ea4cB1Zd3GeqPCoya#32264013 建议检查设备是否支持电话功能。 - Marci
当您使用模拟器时,会出现此错误。 - Behruz Bahromzoda
1个回答

84

Ring Tel nr. 123456789不是有效的电话号码,这就是您的Intent中的内容。 "Telnr:" + a1也似乎不是有效的。使用以电话号码开头的tel:作为传递给Uri.parse()的值:

 Uri.parse("tel:" + a1)

1
啊!谢谢!我以为“tel:”可以是任何字符串。-问题解决了。现在唯一的问题是,如果第一个数字是0,它会自动删除...但这是另一个问题,我很快就会解决。再次感谢! - Sluggo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接