在 android 中,dial 是指按号码,而 call 是指按打电话的键,呵。
intent 是不错,可是书上和现实中问题还是有的。
按书的写法,提示错误,有些符号找不到。
书上给的源代码是:
Intent dialIntent = new Intent(Intent.DIAL_ACTION,Uri.parse("tel:13591996687"));
dialIntent.setLaunchFlags(Intent.NEW_TASK_LAUNCH);
提示说 DIAL_ACTION, setLanuchFlags, NEW_TASK_LAUNCH 这三个符号找不到。
我怀疑是 api 改变了。
于是解开 android-sdk 的压缩包,从其中的 doc 目录中找到了 index.html 来看文档。果然。
这三个“符号”分别变成了
ACTION_DIAL
setFlags
FLAG_ACTIVITY_NEW_TASK
于是最终代码变成
---------------------
package cn.cublog.drunkedcat;
import android.app.Activity;
import android.os.Bundle;
import android.content.Intent;
import android.net.Uri;
public class calls extends Activity
{
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Intent dialIntent = new Intent(Intent.ACTION_DIAL, Uri.parse("tel:13591996687"));
dialIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(dialIntent);
}
}
-----------------------------------------------
这个就可以用了。
但是只能 dial ,不能 call.
要想 call 的话,要把 ACTION_DIAL 改成 ACTION_CALL, 并且给 activity 加上相应的权限才行。
加权限的做法是,修改 AndroidManifest.xml 文件,
在
这个主体中 标签后,加上一个新的标签,叫 详细的内容是:
注意,要用相应的 permission
然后重新编译(也就是 ant debug 之),就可以了。
我在想,显示图片那个是不是也是这个问题呢?
查查看。
阅读(1532) | 评论(0) | 转发(0) |