0

我目前正在android上开发一个简单的应用程序。我有一个带有 setonclicklistener 的 imageview (Skype Intent)。当有人单击此图像视图时,会出现对话框“使用...完成操作”。该对话框包含所需的 Skype 选项,还包含我在计算机上开发的所有应用程序。当有人点击 imageview 时,我希望可以选择仅使用 Skype 应用程序来完成操作。如果可以完全消失“使用...完成操作”对话框并自动打开Skype,那就更好了。

Skype 意图:

final Intent sky = new Intent("android.intent.action.VIEW");
        sky.setData(Uri.parse("skype:" + ""));
        ImageView imSky = (ImageView) findViewById(R.id.imageView2);
        imSky.setOnClickListener(new View.OnClickListener() {

            public void onClick(View v) {
                // TODO Auto-generated method stub
                startActivity(sky); 
            }
        }); 

带有我拥有的 2 个意图过滤器的 Android Manifest.xml,

        <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>

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

先感谢您...

4

1 回答 1

0

此代码将启动 Skype,这是您想要的吗?

Intent intent = getActivity().getPackageManager().getLaunchIntentForPackage("com.skype.raider");
if (intent != null)
{
    // start the activity
    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    startActivity(intent);
}
else
{
    // bring user to the market
    // or let them choose an app?
    intent = new Intent(Intent.ACTION_VIEW);
    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    intent.setData(Uri.parse("market://details?id="+"com.skype.raider"));
    startActivity(intent);
}
于 2013-04-21T08:59:25.367 回答