0

スプリングボードからアプリケーションアイコンを削除する方法ですが、アンインストールしたくありません。スプリングボードからアイコンを削除するだけで、このアプリは別のアプリケーションから起動されます。簡単に言えば、このような別のスプリングボードを作成し、他の場所からではなく、そこからアプリケーションを起動したいと考えています。これは可能ですか?

4

2 に答える 2

0

アプリケーションの AndroidMainfest.xml で、ランチャーを使用しないアクティビティの次の行を削除します。

<category android:name="android.intent.category.LAUNCHER" />

android.intent.action.MAINアクションをアプリ固有のものに変更します

<action android:name="android.intent.action.MAIN" />

たとえば、以下のように変更して、カスタム インテント アクションを表すことができます。

<action android:name="com.example.action.MAIN" />

これで、次のような方法で別のアプリケーションからこのアプリケーションを起動できるはずです。

    Intent intent = new Intent("com.example.action.MAIN");
    currentActivity.startActivity(intent);

詳細はこちら: http://developer.android.com/guide/components/intents-filters.html

于 2013-07-09T04:24:01.817 に答える
0

スプリングボードからアプリケーションを削除するには、これを試すことができます:

  PackageManager packageManager = context.getPackageManager();
    ComponentName componentName = new ComponentName(context,LauncherActivity.class);
    packageManager.setComponentEnabledSetting(componentName,     
    PackageManager.COMPONENT_ENABLED_STATE_DISABLED,PackageManager.DONT_KILL_APP);

別のアプリケーションからアプリケーションを開始するには、次の手順を実行できます。

1. action=MAIN および category=LAUNCHER でインテントを作成します

2. context.getPackageManager を使用して、現在のコンテキストから PackageManager を取得します。

3.packageManager.queryIntentActivity(, 0) インテントにはカテゴリ=LAUNCHER、アクション=MAIN、または packageManager.resolveActivity(, 0) があり、メイン/ランチャーで最初のアクティビティを取得します

4.気になるActivityInfoを取得する

5.ActivityInfoからpackageNameと名前を取得する

6.最後に、category=LAUNCHER、action=MAIN、componentName = new ComponentName(packageName, name)、setFlags(Intent.FLAG_ACTIVITY_NEW_TASK) で別のインテントを作成します。

7.最後に context.startActivity(newIntent)

于 2013-07-09T04:30:38.390 に答える