我正在创建一个可以启动其他应用的应用。我已经使用Spinners推出应用程序,但是,我还希望让用户能够从中启动直接拨号。
就像现在一样,我有“热键”按钮,用户可以配置。目前,当用户想要配置其中一个“热键”时,我使用微调器让他们从手机上所有已安装的应用程序中进行选择。对于初学者,如果他们能够在微调器中查看已安装的应用程序和快捷方式,我希望它能够将直接拨号映射到这些“热键”之一。
所以我的主要问题是,如何查找所有已定义的快捷方式并执行它们?如何在我的应用程序中创建自己的直接拨号?
答案 0 :(得分:0)
直接拨号
startActivity(new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + NUMBER)));
答案 1 :(得分:0)
这是一个简单的函数
public static void go2Call(Context context, String phoneNo) {
Intent intent = null;
Uri destUri = null;
/*
* http://developer.android.com/guide/appendix/g-app-intents.html
<uses-permission id="android.permission.CALL_PHONE" />
tel: phone_number
*/
if(DEBUG)Log.d(TAG, "go2Call ->" + "phoneNo:"+phoneNo);
phoneNo = PhoneNumberUtils.convertKeypadLettersToDigits(phoneNo);
if(DEBUG)Log.d(TAG, "go2Call ->" + "phoneNo(normalized):"+phoneNo);
if ( !TextUtils.isEmpty(phoneNo) ) {
destUri = Uri.parse("tel:" + phoneNo);
}
if (destUri!=null) {
intent = new Intent( Intent.ACTION_VIEW, destUri );
}
if ( intent!=null && isIntentAvailable(context, intent) ) {
context.startActivity(intent);
}
else {
// TODO: display error msg
Log.w(TAG, "error pr intent not available! ->" + "phoneNo:"+phoneNo);
}
}