誰かがこれに光を当てるのを手伝ってくれることを願っています。API バージョン 10 で正常に動作するこのコードがあります。ただし、API 16 に切り替えると、最初のコンポーネントが読み込まれますが、2 番目のコンポーネントはアプリケーションに存在しない例外をスローします。
APIの変更以外は何も変わりません。誰でもこれに光を当てることができますか?私は探していて、まだ何かに出くわしていません。
ありがとう!
/***************************************************
* INITIATE THE BROADCAST RECEIVERS
**************************************************/
//create reference to the package manager and required receivers
PackageManager pm = getApplicationContext().getPackageManager();
ComponentName BroadcastReceiver_Text =
new ComponentName(this, TextMessageReceiver.class.getName());
ComponentName BroadcastReceiver_Phone =
new ComponentName(this, PhoneCallReceiver.class.getName());
//turn ON the broadcast receivers for the texting
try {
pm.setComponentEnabledSetting(BroadcastReceiver_Text,
PackageManager.COMPONENT_ENABLED_STATE_ENABLED,
PackageManager.DONT_KILL_APP);
Log.i("Broadcast Receiver for Text", "Is Now ENABLED");
//turn ON the broadcast receivers for the phone calls
pm.setComponentEnabledSetting(BroadcastReceiver_Phone,
PackageManager.COMPONENT_ENABLED_STATE_ENABLED,
PackageManager.DONT_KILL_APP);
Log.i("Phone Receiver for Text", "Is Now ENABLED");
}catch(Exception e){
Log.i("NameNotFoundException", e.getMessage());
}
Log.i("AwayModeService", "OnCreate Ending");
}