我的代码有一个小问题,我使用Intent类启动服务调用,如下所示:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.intent);
Uri uri=Uri.parse("tel:067614214367");
Intent DialIntent = new Intent(Intent.ACTION_DIAL,uri);
startActivity(DialIntent);
}
出现错误消息:ACTION_DIAL无法解析或不是字段
请帮忙。
答案 0 :(得分:1)
我认为你只需要设置标志:
DialIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
所以你的最终方法将是这样的:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.intent);
Uri uri=Uri.parse("tel:067614214367");
Intent DialIntent = new Intent(Intent.ACTION_DIAL,uri);
DialIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(DialIntent);
}
编辑:
请注意,Intent.ACTION_DIAL
会启动拨号程序,但实际上并不拨打电话。您可以使用以下行替换显示的行(Intent DialIntent = new Intent(Intent.ACTION_DIAL,uri);)
):
dialIntent.setAction(Intent.ACTION_CALL);
所以:
Intent dialIntent = new Intent();
dialIntent.setAction(Intent.ACTION_CALL);
dialIntent.setData(Uri.parse("tel:067614214367"));
您必须在Android清单文件中声明 android.permission.PHONE_CALL 权限。