2016-12-08 3 views
0

私はアプリアイコンをc#で統一して表示させようとしています。私は以下のアンドロイドコードを実装しようとした:アイコンをプログラムで統一的に隠すC#

PackageManager p = getPackageManager(); 
    ComponentName componentName = new ComponentName(this,com.apps.MainActivity.class); // activity which is first time open in manifiest file which is declare as <category android:name="android.intent.category.LAUNCHER" /> 
    p.setComponentEnabledSetting(componentName,PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP); 

だから、私のコードは次のとおりです。

AndroidJavaClass up = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); 
AndroidJavaObject ca = up.GetStatic<AndroidJavaObject>("currentActivity"); 
AndroidJavaObject packageManager = ca.Call<AndroidJavaObject>("getPackageManager"); 
AndroidJavaClass cn = new AndroidJavaClass ("android.content.ComponentName"); 

launchIntent = packageManager.Call<AndroidJavaObject>("getLaunchIntentForPackage",bundleId); 
packageManager.Call<AndroidJavaObject>("setComponentEnabledSetting",cn,packageManager.Get<int>("COMPONENT_ENABLED_STATE_DISABLED"),packageManager.Get<int>("DONT_KILL_APP")); 
ca.Call ("startActivity", launchIntent); 

cn.Dispose(); 
up.Dispose(); 
ca.Dispose(); 
packageManager.Dispose(); 
launchIntent.Dispose(); 

私が構築し、アンドロイドのために実行すると、packagemanagerを示す線が呼び出さ取得されていません。私はここで何が欠けていますか?助けてください!

答えて

0

apkのマニフェストファイルがある場合、マニフェストのランチャーカテゴリを削除すると、アプリを非表示にできます。ランチャーとして宣言されたアプリのみが画面に表示されます。 なぜプログラムで非表示にしたいのか分かりますか?

0

apkのマニフェストファイルがある場合は、マニフェストのランチャーカテゴリを削除することで、アプリを非表示にすることができます。ランチャーとして宣言されたアプリのみが画面に表示されます。ブロードキャストレシーバーを使用して起動する必要がありますランチャーカテゴリのないアプリ なぜあなたはプログラムでそれらを隠したいのか分かりますか?現在の活動のやり方と同じように、パッケージマネージャ用のJavaオブジェクトを作成しないのはなぜですか?

関連する問題