0

AndroidManifest.xml の以下のインテント フィルターを削除すると、インストール後にアイコンを削除できます。

<intent-filter>
  <action android:name="android.intent.action.MAIN" />
  <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>

しかし、アイコンを削除するよりも起動時に以下を試しましたが、再起動後もアイコンは残ります。許可を追加しました。この再起動レシーバーは機能しています。

public class BootBroadcastReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        PackageManager p = context.getApplicationContext().getPackageManager(); 
        ComponentName componentName = new ComponentName("com.example.removeicon","com.example.removeicon.LauncherActivity");
        p.setComponentEnabledSetting(componentName,PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP);

    }
}

または、Boot on Service を配置し、AndroidManifest.xml のインテント フィルターを削除せずに、サービスを実行して動作させます。

package com.example.removeicon;
    @Override
    public int onStartCommand(Intent intent, int flags, int startId) {
        PackageManager p = getPackageManager();
        ComponentName componentName = new ComponentName("com.example.removeicon","com.example.removeicon.LauncherActivity");
        p.setComponentEnabledSetting(componentName,PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP);
        startService();
    }
4

2 に答える 2

3
PackageManager p = getPackageManager();
ComponentName componentName = new ComponentName("com.example.removeicon","com.example.removeicon.LauncherActivity");
p.setComponentEnabledSetting(componentName, 
    PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP);

次回の再起動までアイコンが消えない場合があることに注意してください。

于 2012-12-05T05:02:18.103 に答える