从应用程序以编程方式启动Skype和通行证号码 – Android

试图推出并通过电话.没有.通过我的应用程序的这个代码来skype
PackageManager packageManager = getPackageManager();
Intent skype = packageManager.getLaunchIntentForPackage("com.skype.raider");
skype.setData(Uri.parse("tel:65465446"));
startActivity(skype);

Skype已启动,但无法捕捉数字.

代码适用于我在两个Skype用户之间启动呼叫:
Intent sky = new Intent("android.intent.action.VIEW");
sky.setData(Uri.parse("skype:" + user_name));
startActivity(sky);

要找到这个(和其他人),请使用apktool打开Skype APK.看看AndroidManifest.xml,你会看到他们所知道的所有意图过滤器.如果要触发其中一个意图过滤器,则需要使其匹配一个意图.以下是上述代码匹配的意图过滤器:

<intent-filter>
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.DEFAULT" />
            <data android:scheme="skype" />
        </intent-filter>

您可以从{{Intent()}}中免费获取类别“android.intent.category.DEFAULT”,所以剩下的就是设置动作和URI.

tel:URI的意图过滤器如下所示:

<intent-filter android:icon="@drawable/skype_blue" android:priority="0">
            <action android:name="android.intent.action.CALL_PRIVILEGED" />
            <category android:name="android.intent.category.DEFAULT" />
            <data android:scheme="tel" />
        </intent-filter>

所以你设置了动作,并给意图tel:URI和“正确的事情发生”.发生什么事情是,Android找到tel:URI的正确提供商.它可能会让用户的输入在Phone App和Skype之间进行选择. telnet优先处理tel:URI为零,这是最低的.所以如果安装了Phone App,它可能会得到Intent.

相关文章

Windows注册表操作基础代码 Windows下对注册表进行操作使用的...
黑客常用WinAPI函数整理之前的博客写了很多关于Windows编程的...
一个简单的Windows Socket可复用框架说起网络编程,无非是建...
Windows文件操作基础代码 Windows下对文件进行操作使用的一段...
Winpcap基础代码 使用Winpcap进行网络数据的截获和发送都需要...
使用vbs脚本进行批量编码转换 最近需要使用SourceInsight查看...