3

インテントとして電話で電話アプリケーションを起動したい

私はこのコードを使用しています

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

しかし、関数はnullpointerの例外をスローするため、起動可能なアイテムはありませんが、ユーザーにテレフォニーログを表示させるために起動するにはどうすればよいですか

4

4 に答える 4

2

私は自分の質問に答えることができました。あなたの答えのおかげで、私が望んでいたものと正確には一致しませんでしたが、タムに基づいて私はそれを理解しました

電話するしかなかった

Intent intent = new Intent(Intent.ACTION_DIAL);

startActivity(intent);

電話アプリケーションのみを開く

于 2012-06-14T19:42:51.507 に答える
2

特定のものに対する許可が必要です...やったほうがいいです

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

次に、許可されているもののリストを取得し、これを並べ替えて起動します。

于 2013-04-02T00:34:06.150 に答える
0

以下のコードを使用して、意図的に電話番号をダイヤルしました。

String uri = "tel:" + phoneNumber.trim() ;
Intent intent = new Intent(Intent.ACTION_DIAL);
intent.setData(Uri.parse(uri));
startActivity(intent);
于 2012-06-14T17:38:43.223 に答える
-3

私は以前にこの問題を解決したので、ここにあります:

Intent i = new Intent();
PackageManager manager = getPackageManager();
i = manager.getLaunchIntentForPackage("com.android.htcdialer");
i.addCategory(Intent.CATEGORY_LAUNCHER);
startActivity(i);
于 2012-12-18T11:29:44.250 に答える