2016-05-16 97 views
0

下面的代码“使用完整的行动”,在安装的即时通讯应用程序的列表打开短信应用程序,但我要打开系统中安装的即时通讯应用程序列表,如Viber的,WhatsApp的等打开android系统

请帮助纠正这一代码。

//setting onclicklistner to chat button 
     chat_button.setOnClickListener(new OnClickListener() { 
      @Override 
      public void onClick(View v) { 
        Intent intent= new Intent(Intent.ACTION_VIEW); 
        intent.setData(Uri.parse("sms:"+TelNos[position])); 
        context.startActivity(intent); 
      } 
     }); 
+0

use action_send – USKMobility

回答

0

创建意向选择如下。

Intent intent = new Intent(Intent.ACTION_SEND); 
    ... 


    // Create intent to show chooser 
    Intent chooser = Intent.createChooser(intent, "title"); 

    // Verify the intent will resolve to at least one activity 
    if (intent.resolveActivity(getPackageManager()) != null) { 
     startActivity(chooser); 
    } 

详情http://developer.android.com/training/basics/intents/sending.html

+0

getPackageManager()显示错误。 :( – tenten

+0

你在哪里访问getPackageManager,在片段或活动? – USKMobility

+0

如果你在活动和访问onClick方法getPackageManager然后使用YourActivity.this.getPackageManager() – USKMobility

0

对于您可以使用其特定的包名, 为前打开的应用程序。 你需要使用它的包名(类似:com.skype.android)知道Skype的,那么你就可以启动它:

PackageManager packageManager = getPackageManager(); startActivity(packageManager.getLaunchIntentForPackage("com.skype.android"));

同样的事情,对于所有其他应用程序。

+0

有没有任何方法来打开设备上的按钮点击时可用的聊天应用程序列表。 – tenten