2016-06-13 171 views
0

我試圖打開這個類的一個按鈕,它工作正常,但是,這個類是不存在於HTC設備,所以我希望我的應用程序顯示吐司這個異常,但它不顯示任何東西 -如何打開系統設置活動?

Intent intent = new Intent(); 
     intent.setAction("android.media.action.DISPLAY_AUDIO_EFFECT_CONTROL_PANEL"); 
     if ((intent.resolveActivity(getPackageManager()) != null)) { 
      startActivity(intent); 
     } else { 
      Toast.makeText(getBaseContext(), "you are offline", Toast.LENGTH_LONG).show(); 
// No equalizer found :(
     } 
+0

如果你的類是活動,請嘗試使用'this'而不是'getBaseContext()'。 –

+0

這不是問題...我試圖打開另一個活動,它只是不叫 – abbie

回答

0

您可以通過按後退按鈕在設備與

startActivityForResult(new Intent(android.provider.Settings.ACTION_SETTINGS), 0); 

您可以返回打開。

+0

我應該在哪裏放這條線? – abbie

+0

你能編輯你的答案嗎? – abbie

0

試試這個

在你MainActivity.java

 Intent intent = new Intent(); 
     intent.setAction("android.media.action.DISPLAY_AUDIO_EFFECT_CONTROL_PANEL"); 
     if ((intent.resolveActivity(getPackageManager()) != null)) { 
      // here is the changes 
      // REQUEST_CODE is an any integer value 
      startActivityForResult(intent, REQUEST_CODE); 
     } else { 
      Toast.makeText(getBaseContext(), "Unable to open setting..", Toast.LENGTH_LONG).show(); 
     } 

如果你要處理的意圖的結果,那麼

@Override 
    protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
     super.onActivityResult(requestCode, resultCode, data); 
     // add your code here 
    } 
+0

我可以使用startActivityForResult(intent,0); – abbie

+0

是的,任何整數不允許 –

+0

@abbie你試過我的解決方案嗎? –