2016-06-13 6 views
0

ボタンをクリックしてこのクラスを開こうとしていますが、このクラスはHTCデバイスには存在しませんので、この例外でトーストを表示させたいのですが、表示されませんanything-システム設定作業を開くには?

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

場合'getBaseContext()'の代わりに 'this'を使ってみてください。 –

+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あなたは私のソリューションを試しましたか? –

関連する問題