3

私は TAB UI に ActivityGroup を使用し、1 つのタブ コンテンツは Android 設定ビューです。このメソッドを使用して以下に埋め込みました。

final Intent settings = new Intent(android.provider.Settings.ACTION_SETTINGS);
settings.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
Window subActivity = getLocalActivityManager().startActivity("SubActivity_Settings", settings);
vSettings = subActivity.getDecorView();

Android 2.3.3 では問題なく動作しますが、現在 Android 4.0 に移行する必要があります。残念ながら、以下のような例外で動作しません。

05-13 07:02:36.242: E/AndroidRuntime(1118): java.lang.RuntimeException: アクティビティを再開できません {com.android.settings/com.android.settings.Settings}: java.lang.SecurityException: 指定された発信者パッケージ com.android.settings はプロセス ProcessRecord{414674b0 1118:com.gul.desktop/10040} で実行されていません

仲間はそれを解決する方法を教えてもらえますか? ProcessRecord はどうですか?

4

2 に答える 2

3

TAB UI に ActivityGroup を使用しています

これは、API レベル 11 で正式に廃止されました。

Android 2.3.3 でも問題なく動作します。

あまり。「うまく機能している」ように見えますが、ユーザーは、独自の UI で変更できなかった設定を実際に変更することはできません。Android 4.0 は、セキュリティをさらに強化するだけです。

友達がそれを解決する方法を教えてくれませんか

通常の SDK アプリが変更できる設定については、設定を変更するための独自の UI を作成します。または、 にあるアクションstartActivity()を使用して、から設定アプリを起動します。Intentandroid.provider.Settings

于 2012-10-06T16:57:28.940 に答える
0

マニフェストファイルでアクティビティを2回または複数回登録している可能性があるため、この例外が発生します。

例:

<activity android:name=".MainActivity" android:label="@string/app_name"> 
                         ^^^^^^^^^^^^
     <intent-filter> 
         <action android:name="android.intent.action.MAIN" />
         <category android:name="android.intent.category.LAUNCHER" />
     </intent-filter>
 </activity>

<activity android:name=".MainActivity"> </activity>
                         ^^^^^^^^^^^^  

不要な行を削除してください....これがあなたのために働くことを願っています..!

于 2012-05-13T08:51:27.333 に答える