0

バー、レストランなどの公共の場所で使用されるタブレット (ICS 4.0.3) 用のアプリを開発しようとしています。

そのタブレットを使用するユーザー (つまり、私のアプリケーション) は家に入ることができず、コードを設定する管理者だけが外出できます。

私がやったことは次のとおりです。

public class MainActivity extends Activity {
    private Activity actual;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        if (getIntent().getBooleanExtra("EXIT", false)) {
           finish(); // it doesn't work 
        }
    }
    @Override
    public void onBackPressed() {
        // do nothing!
    }
}

マニフェスト:

<activity
            android:name=".MainActivity"
            android:configChanges="orientation|keyboardHidden"
            android:label="@string/app_name"
            android:screenOrientation="landscape" >
            <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.MONKEY"/>
            </intent-filter>
        </activity>

管理ダイアログ:

TEST1: // アプリケーションが再起動されます

Intent homeIntent= new Intent(Intent.ACTION_MAIN);
homeIntent.addCategory(Intent.CATEGORY_HOME);
homeIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(homeIntent);

TEST2: // アプリケーションが再起動されます

System.exit(0);

TEST3: // 設定を開く (oO)

Intent h = new Intent(Intent.ACTION_MAIN);
h.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
h.putExtra("EXIT", true);
context.startActivity(h);

私の問題は、アプリケーションから出られないことです..どうすれば解決できますか?

4

1 に答える 1

0

TEST3ACTION_MAINでは、インテントでのみ提供しました。Android は、このアクションを処理できるアプリを探し、それらの長いリストを見つけます。それがあなたのものを起動する必要があることをどのように知る必要がありますか?

アプリをホーム画面の代替として設定したと思います。これを TEST3 のコードに追加してみてください。

h.addCategory(Intent.CATEGORY_HOME);
于 2012-10-04T09:13:51.427 に答える