2

重複の可能性:
起動時にアプリケーションを起動する方法は?

私はAndroidが初めてで、Androidアプリを持っています。Androidモバイルの起動時にアプリを開きたいだけです。これを行う方法を教えてください。Android SDK 2.3.3でEclipseを使用しています

4

2 に答える 2

3

マニフェストで許可を与える.....

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />

レシーバーでこれをインテントフィルターに渡します...

 <intent-filter>
        <action android:name="android.intent.action.BOOT_COMPLETED" />
    </intent-filter>

レシーバークラスでこのコードを試してください.....

 @Override
    public void onReceive(Context context, Intent intent) {
        if ("android.intent.action.BOOT_COMPLETED".equals(intent.getAction())) {
            Intent serviceIntent = new Intent("*package name*.*Receivername*");
            context.startService(serviceIntent);
        }
    }

Android に関する最新情報については、この Web サイトにアクセスしてください。

于 2012-06-18T08:33:40.103 に答える
2

現実的にやりたいなら

<receiver android:name=".MyServiceManager"
        android:enabled="true" >

            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED" />
                 <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
</receiver>

次に、このコードをマニフェスト ファイルのアプリケーション タグに追加し、マニフェスト ファイルに使用許可を追加します。

それで

public class MyServiceManager extends BroadcastReceiver
{

    @Override
    public void onReceive(Context context, Intent intent) {

        String action = intent.getAction();

        if(action.equalsIgnoreCase("android.intent.action.BOOT_COMPLETED"))
        {
            Intent myIntent=new Intent(context,package.YourActivity.class);
            myIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            context.startActivity(myIntent);
        }
}   

このクラスをプロジェクトに追加します。パッケージ名とクラス名を確認し、適宜変更してください。それでも問題が解決しない場合は、私に書いてください。

于 2012-06-18T08:33:37.100 に答える