これが私のコードです:
Intent i = (new Intent(Intent.ACTION_SEND, Uri.fromParts("sms", "12345678", null)));
PackageManager pm = getApplicationContext().getPackageManager();
final ResolveInfo mInfo = pm.resolveActivity(i, PackageManager.MATCH_DEFAULT_ONLY);
Log.i(TAG, "apk:"+mInfo.activityInfo.packageName);
私は戻ってきます:
apk:com.mysms.android.sms
デフォルトのアプリが何であれ。
設定に移動してデフォルトのアプリをメッセージに切り替えると、com.android.sms(またはメッセージパッケージが何であれ)が返されません。特に、com.whatever.its.name の形式のデフォルト メッセージ アプリが必要です。
更新: あきらめるのが早すぎた! 他の誰かがこれに興味を持っている場合、これは私にとってはうまくいきました:
String defApp = Settings.Secure.getString(getContentResolver(), "sms_default_application");
PackageManager pm = getApplicationContext().getPackageManager();
Intent iIntent = pm.getLaunchIntentForPackage(defApp);
ResolveInfo mInfo = pm.resolveActivity(iIntent,0);
Log.i(TAG, "apk:"+mInfo.activityInfo.packageName);