0

デバイスが車のドキュメントに配置されたときにアプリケーションを自動的に起動したい。マニフェストにこの便利なコードを見つけましたが、ユーザーがこのオプションを使用する場合は、チェックボックス付きのオプションをユーザーに提供したいと思います。

 <action android:name="android.intent.action.MAIN" /> 
<category android:name="android.intent.category.LAUNCHER" /> 
<category android:name="android.intent.category.CAR_DOCK" />
 <category android:name="android.intent.category.DEFAULT" />

これを可能にする方法は、ユーザーがオプションをチェックすると、アプリがカードックに配置されたときに起動しますが、そうでない場合は起動します。

4

1 に答える 1

2

上記のマニフェスト エントリは、アクティビティではなくブロードキャスト レシーバーに使用します。また、ブロードキャスト レシーバー内で設定を確認してから、アクティビティを起動できます。

編集:上記のマニフェストの変更で DockReciever を登録します。それでもうまくいかない場合は、以下のアクションを使用してください

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

これを使用する場合は、ドックの状態を確認する必要があります。

public class DockReciever extends BroadcastReceiver {

    @Override
    public void onReceive(Context arg0, Intent arg1) {
        SharedPreferences settings = getSharedPreferences(PREFS_NAME, MODE_PRIVATE);
        boolean launch = settings.getBoolean(Utility.KEY_LAUNCH, false);
        if(settings.getBoolean(Utility.KEY_LAUNCH, false)){
         Intent intent = //your Activity intent goes here
         arg0.startActivity(intent);
         }

     }

}
于 2012-08-13T13:47:21.030 に答える