4

私が欲しいものを説明しましょう。「マスターアプリ」を構築し、電話の電源を入れるとすぐにマスターアプリに入るように設定したいと思います。ユーザーはこのアプリを終了することはできず (これはペアレンタル コントロールなどに使用されます)、その中から他のアプリを起動することしかできません。

基本的には「カスタムデスクトップ」のようなものになります。

このアプリが決して終了しないことが重要です。電話が開始されている限り、これはユーザーがアクセスできる唯一の環境です。

必要なものを説明した後、私が探しているものを教えてくれるあなたの助けが必要です。これは、私がよく耳にする「デフォルト ランチャー」のようなものですか? または、これはどのように呼ばれますか?どうすればいいですか?

ありがとう

4

4 に答える 4

6

これをマニフェストに追加します。

<receiver
            android:name=".Bootupclass"
            android:enabled="true"
            android:permission="android.permission.RECEIVE_BOOT_COMPLETED" >

</receiver>

起動クラス

public class Bootupclass extends BroadcastReceiver{

    @Override
    public void onReceive(Context context, Intent intent) {
        //write intent here 
    }

}
于 2013-06-26T09:06:04.157 に答える
3

アプリを作成するために必要な正確なコードを教えてくれる人が必要です:

ヒア・ゴーズ

アプリをランチャー アプリとして作成し、それがシステム内の唯一のランチャー アプリである場合は、デバイスの電源を入れたときにもちろん開始されます。また、ホーム ボタンをクリックすると、アプリがシステム内の唯一のランチャー アプリであるため、同じことが開始されます。

それで 、

1) 起動時に開始 2) ホームボタン (「デスクトップ」) を押したときのデフォルトのアクション

両方を 1 つにマージできます。

あなたの電話はルート化されているとおっしゃいましたが、必要なものを達成する最も簡単な方法は

1.マニフェスト内のこれらの行だけでアプリをインストールします。つまり、最初のアクティビティ内です。他に必要なものはありません。(これにより、アプリがランチャー アプリになります)

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

2.デバイス内のデフォルトのランチャー アプリケーションをアンインストールします。

于 2013-07-13T05:44:22.283 に答える
1

I must stress out, it is important that this app never exitsこれは不可能だと思います。

あなたの要件から、MDM ソリューションが必要なようです。Android 2.2 以降のデバイス管理 API が利用可能になりました。http://developer.android.com/guide/topics/admin/device-admin.htmlをご覧ください

ユーザーはアプリをインストールし、デバイス管理者になることを許可する必要があります。(現在利用可能な管理者は、[設定] -> [場所とセキュリティ] -> [デバイス管理者] から確認できます)。管理者として、デバイスの機能を制御できるようになりました。アプリのアンインストールを禁止する、特定のアプリのインストールを禁止する、特定のアプリの起動を禁止する。セキュリティが侵害された場合などにデバイスをワイプします。アプリがアンインストールされないようにすることもできます。

このような機能を備えたアプリがあります。頭のてっぺんからMaas360に名前を付けることができます。免責事項: 私はデバイス管理 API を自分で試したことはありません。

于 2013-07-13T06:09:00.980 に答える
1

質問本文で質問されていることは、質問のタイトルとは異なります。

リッスンするBOOT_COMPLETEDと、タイトルで要求されたことが文字通り実行されます。デバイスの電源がオンになるか、再起動されたときに、アプリケーションに制御が渡されます。

ユーザーがアプリケーションを終了して「通常の」ホーム画面に到達するのを防ぐという本当の目標を達成するだけでは十分ではありません。ユーザーが「終了」または「ホーム」を押すと、基本的にアプリを離れます。「終了」ボタンをインターセプトしてアプリを終了できないようにすることはできますが、「ホーム」ボタンをプログラムでブロックすることはできません。

ペアレンタル コントロールのようなアプリを作成し、ユーザーが不要なアプリにアクセスできないようにするには、「カスタム ホーム画面」または「カスタム ランチャー」を実装する必要があります (これは同じことです)。

かなり大きなトピックですが、これは良い出発点のようです: Android - カスタム ランチャーの作成

また、作成者は「正確なコード」を主張しているため、(起動後または「ホーム」ボタンを押した後) ホーム画面の代わりにアプリを起動するには、マニフェストに次のものが必要です。

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

インストール後、「ホーム」ボタンを押します。標準のランチャーまたはアプリのいずれかを選択できます。「デフォルトとして使用」にチェックを入れ、アプリを選択します。これ以降、通常のホーム画面の代わりにアプリが起動します。

ただし、カスタム ランチャーに関する既知の問題はほとんどないことに注意してください。1つは、設定へのアクセスをブロックする必要があります。そうしないと、ユーザーはデフォルトのランチャーに戻ることができます。また、アプリが更新された後 (つまり、新しいバージョンを投稿した後)、ユーザーは使用するホーム画面を尋ねられ、デフォルトのランチャーを選択できます。

于 2013-07-09T14:40:16.463 に答える