Android开通电话应用程序

时间:2012-05-24 06:59:52

标签: android launch launcher phone-call

我只想打开Android设备的电话应用程序。我不想为该应用程序提供电话号码。只是想打开它。
我正在使用手机应用程序的包名来打开它。因为我可以通过包名下面的代码打开我想要的任何应用程序。

Intent launchIntent = getPackageManager().getLaunchIntentForPackage("com.android.contacts"); startActivity(launchIntent);

我无法使用上述代码打开电话通讯录应用程序。可能是什么问题?

2 个答案:

答案 0 :(得分:22)

打算{p> Intents(这里没有pwn(该死!))为您提供更通用的方式来访问打开文件等操作。如果你必须指定任何你想做的包,这将是非常有限的。但是,这里有一些意图可能是你想要的。

//For the contacts (picking one)
 Intent i = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI);
//For the contacts (viewing them) 
 Intent i = new Intent(Intent.ACTION_VIEW, ContactsContract.Contacts.CONTENT_URI);
//For the dial pad
 Intent i = new Intent(Intent.ACTION_DIAL, null);
//For viewing the call log
 Intent i = new Intent(Intent.ACTION_VIEW, CallLog.Calls.CONTENT_URI);

在某个地方为自己制作useful intents文件以节省您的时间,有一天你会感谢我。

当然要开始那些意图,除了第一个意图之外你要做startActivity(i);,因为你想要联系回来,你需要startActivityForResult(i);,但这是另一个故事。

答案 1 :(得分:2)

  

public static final String ACTION_DIAL

     

从以下版本开始:API Level 1 Activity Action:拨打指定的号码   数据。这显示了一个UI,其中包含拨打的号码,允许用户   明确地发起呼叫。 输入:如果没有,则为空拨号器   开始;

来源:http://developer.android.com/reference/android/content/Intent.html#ACTION_DIAL

http://developer.android.com/reference/android/content/Intent.html#ACTION_CALL也可能是您正在寻找的。

如果您想从活动开始拨打电话,只需使用活动上下文中的http://developer.android.com/reference/android/content/Context.html#startActivity(android.content.Intent)。