问题描述
- 关于安卓应用开发的问题......入门问题......
-
看教程写了个输入号码拨号的小应用 代码如下package com.example.testcall; import android.net.Uri; import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.view.Menu; import android.view.View; import android.widget.Button; import android.widget.EditText; public class MainActivity extends Activity { private EditText numET; private Button but; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); numET = (EditText) this.findViewById(R.id.EditText1); but = (Button) findViewById(R.id.Button01); } public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main, menu); return true; } public void call(View v) { String num = numET.getText().toString(); Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse(num)); this.startActivity(intent); } }
运行报错如下
05-19 12:12:43.310: E/AndroidRuntime(781): Caused by: android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.CALL dat= }
这是说activity没注册吗 就是默认的main activity 明明已经注册了啊 求指教谢谢~~
解决方案
把电话的prefix设为"tel:"
Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:"+num));
this.startActivity(intent);
最后别忘添加权限了
<uses-permission android:name="android.permission.CALL_PHONE" />
解决方案二:
你用的哪个版本啊 我用的Android4.4 总是调用不了系统拨号 谢谢 求回复
时间: 2024-08-01 15:57:47