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

前端之家收集整理的这篇文章主要介绍了从应用程序以编程方式启动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相关文章