この単純なプログラムに関して問題があります (実際には、これは単一のアクティビティ/クラスです)。これはエラーを返しません。実行時にエミュレータ/デバイスで起動しないだけです。これには、シークバー (着信音量バー) と [OK] ボタン (バーをシークした後に変更を保存するため) が含まれています。リアルタイムのシークバーは必要ありません (つまり、シークバーでシークすると、自動的に音量が変更されます)
これがコードです
public class Vol extends Activity {
public static final String TYPE = "TYPE";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Bundle extras = getIntent().getExtras();
final int volumeType = extras != null ? extras.getInt(TYPE) : -1;
final AudioManager audio = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
String title = "Unknown Volume";
if (volumeType != -1) {
switch(volumeType) {
case AudioManager.STREAM_RING:
break;
}
setContentView(R.layout.main);
setTitle(title);
final SeekBar systemSeek = (SeekBar) findViewById(R.id.volume_bar);
systemSeek.setMax(audio.getStreamMaxVolume(volumeType));
systemSeek.setProgress(audio.getStreamVolume(volumeType));
systemSeek.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
public void onStopTrackingTouch(SeekBar seekBar) {
final int setVolFlags = AudioManager.FLAG_PLAY_SOUND | AudioManager.FLAG_SHOW_UI;
audio.setStreamVolume(volumeType,seekBar.getProgress(), setVolFlags);
}
public void onStartTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
}
public void onProgressChanged(SeekBar seekBar, int progress,
boolean fromUser) {
// TODO Auto-generated method stub
}
});
Button ok = (Button) findViewById(R.id.ok_button);
ok.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
if (volumeType == AudioManager.STREAM_RING){
audio.setRingerMode(AudioManager.RINGER_MODE_NORMAL);
}
finish();
}
});
} else {
finish();
}
}
}
手伝っていただけませんか?前もって感謝します!