2012-06-14 74 views
2

我要推出手机上的电话应用为目的Android手机应用程序的意图

我使用这个代码

startActivity(getPackageManager().getLaunchIntentForPackage("com.android.phone")); 

但功能抛出一个空指针excaption所以没有被启动的itent但我如何启动它,让用户看电话号码

+0

什么是“telephonylogs”?你为什么认为用户可以看他们? – CommonsWare

回答

0

我已经使用下面的代码拨打有意图的电话号码,它可能适合你。

String uri = "tel:" + phoneNumber.trim() ; 
Intent intent = new Intent(Intent.ACTION_DIAL); 
intent.setData(Uri.parse(uri)); 
startActivity(intent); 
+0

确保您向清单文件添加权限。 –

+2

@FrankSposaro:'ACTION_DIAL'不需要任何权限。你需要一个'ACTION_CALL'。我怀疑这个答案并没有真正解决OP的问题,尽管... – CommonsWare

+0

我不想打电话我只是想启动手机应用程序,以便用户可以查看手机日志,以便未接来电等。 – user1426956

1

我设法回答我的问题谢谢你的答案并没有完全满足我想要的,但是,艾德里安的基地我琢磨出来的东西

我不得不打电话

Intent intent = new Intent(Intent.ACTION_DIAL); 

startActivity(intent); 

仅打开手机应用

-3

我之前解决了这个问题,所以在这里它是:

Intent i = new Intent(); 
PackageManager manager = getPackageManager(); 
i = manager.getLaunchIntentForPackage("com.android.htcdialer"); 
i.addCategory(Intent.CATEGORY_LAUNCHER); 
startActivity(i); 
+0

这不适用于纯Android,这种解决方案是HTC固件特有的。 – kstep

2

您需要为特定的一些权限...更好做

Intent intent = new Intent(Intent.ACTION_MAIN, null); 
intent.addCategory(Intent.CATEGORY_LAUNCHER); 
    List<ResolveInfo> packs = mContext.getPackageManager().queryIntentActivities(intent,  PackageManager.PERMISSION_GRANTED); 

,然后你有你有权限,然后排序通过这个启动事情的清单。

相关问题