私はアプリケーションを持っていて、それをリモートで起動しますbroadcast receiver
。このメソッドを使用して、アプリドロワーから非表示にしました。
public static void hideFromAppDrawer(Context c) {
ComponentName componentToDisable = new ComponentName(
"mypackage", "mypackage.MyMainActivity");
c.getPackageManager().setComponentEnabledSetting(componentToDisable,
PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
PackageManager.DONT_KILL_APP);
}
しかし、非表示にした後(laucherアクティビティを非表示にし、その後同じアクティビティをリモートで起動したい)、アプリケーションは起動しません。ログには次のように書かれています。
03-27 15:00:53.494: E/AndroidRuntime(23392): FATAL EXCEPTION: main
03-27 15:00:53.494: E/AndroidRuntime(23392): java.lang.RuntimeException: Unable to start receiver mypackage.receivers.myReceiver: android.content.ActivityNotFoundException: Unable to find explicit activity class {mypackage/mypackage.MyMainActivity}; have you declared this activity in your AndroidManifest.xml?
03-27 15:00:53.494: E/AndroidRuntime(23392): at android.app.ActivityThread.handleReceiver(ActivityThread.java:2383)
broadcast receiver's
onReceive()
アクティビティを開始しようとしたときに、メソッドにエラーがあります。
context.startActivity(i);
03-27 15:00:53.494: E/AndroidRuntime(23392): at ... .onReceive(MyReceiver.java:36)
何が問題である可能性があり、アプリケーションドロワーから非表示になっているときにアプリケーションを起動するにはどうすればよいですか?