設定ボタンをクリックすると、タブを含む別のアクティビティに移動する必要があるアプリケーションが 1 つあります。私はすべてのコードを構築し、Acer タブでうまく機能しています。Samsung Galaxy (4.1.1) で同じアプリケーションを実行すると、「残念ながら、アプリが停止しました」というエラーが表示されます。以下の私のコードをチェックしてください:
settingsBtn.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Intent prefIntent = new Intent(v.getContext(), Preferences.class);
startActivityForResult(prefIntent, 0);
}
});
//Preferences.java
setContentView(R.layout.preferences);
private Button pref_close;
pref_close = (Button) findViewById(R.id.close_prefs);
TabHost tabHost = getTabHost(); // The activity TabHost
TabHost.TabSpec spec; // Resusable TabSpec for each tab
Intent intent; // Reusable Intent for each tab
// Create an Intent to launch an Activity for the tab (to be reused)
intent = new Intent(WifiManager.ACTION_PICK_WIFI_NETWORK);
// Initialize a TabSpec for each tab and add it to the TabHost
spec = tabHost.newTabSpec("wifi").setIndicator("Wifi Settings",null).setContent(intent);
tabHost.addTab(spec);
// Do the same for the other tabs
intent = new Intent(this, AppSettings.class);
spec = tabHost.newTabSpec("settings").setIndicator(" Clock Settings",null).setContent(intent);
tabHost.addTab(spec);
tabHost.setCurrentTab(0);
pref_close.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
//finish();
setResult(RESULT_OK);
}
});
startActivityForResult() にコメントすると、アプリが強制的に閉じられず、preference.java ファイルが呼び出されないときに問題が発生します。私のlogcatにはエラーが表示されますが、次のように表示されます
03-28 11:30:37.734: E/AndroidRuntime(4668): java.lang.RuntimeException: Unable to resume activity {com.vision.clock/com.vision.clock.activity.Preferences}: java.lang.RuntimeException: Unable to resume activity {com.android.settings/com.android.settings.wifi.WifiPickerActivity}: java.lang.SecurityException: Given caller package com.android.settings is not running in process ProcessRecord
私は問題を見つけるための解決策を得ていません..誰でも解決策を見つけることができますか.
前もって感謝します...