2012-06-14 123 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); 

,然後你有你有權限,然後排序通過這個啓動事情的清單。

相關問題