Intent launchIntent = getPackageManager().getLaunchIntentForPackage("com.android.contacts");
startActivity(launchIntent);
我无法使用上述代码打开电话和通讯录应用程序。可能是什么问题?
答案 0 :(得分:22)
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)。