/**
* Retrieve outgoing call handlers available as plugin for csipsimple Also
* contains stock call handler if available
*
* @param ctxt context of application
* @return A map of package name => Fancy name of call handler
*/
public static Map<String, String> getAvailableCallHandlers(Context ctxt) {
if (AVAILABLE_HANDLERS == null) {
AVAILABLE_HANDLERS = new HashMap<String, String>();
PackageManager packageManager = ctxt.getPackageManager();
Intent it = new Intent(SipManager.ACTION_GET_PHONE_HANDLERS);
List<ResolveInfo> availables = packageManager.queryBroadcastReceivers(it, 0);
for (ResolveInfo resInfo : availables) {
ActivityInfo actInfos = resInfo.activityInfo;
Log.d(THIS_FILE, "Found call handler " + actInfos.packageName + " " + actInfos.name);
if (packageManager.checkPermission(permission.PROCESS_OUTGOING_CALLS,
actInfos.packageName) == PackageManager.PERMISSION_GRANTED) {
String packagedActivityName = (new ComponentName(actInfos.packageName,
actInfos.name)).flattenToString();
AVAILABLE_HANDLERS.put(packagedActivityName,
(String) resInfo.loadLabel(packageManager));
}
}
}
return AVAILABLE_HANDLERS;
}
CallHandlerPlugin.java 文件源码
java
阅读 42
收藏 0
点赞 0
评论 0
项目:CSipSimple
作者:
评论列表
文章目录