在我看过的各种Android代码中:
public class MyActivity extends Activity {
public void method() {
mContext = this; // since Activity extends Context
mContext = getApplicationContext();
mContext = getBaseContext();
}
}
Run Code Online (Sandbox Code Playgroud)
但是,我找不到任何合适的解释,哪些更好,以及在什么情况下应该使用.
关于这方面的文件的指示,以及关于如果选择了错误的可能会破坏的指导,将不胜感激.
我一直在寻找如何在Android中播放铃声/闹钟声音.
我按一个按钮,我想播放铃声/闹铃声.我找不到一个简单,直接的样本.是的,我已经查看了闹钟源代码......但它并不简单,我无法编译它.
我无法做到这一点:
Uri alert = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_ALARM);
mMediaPlayer = new MediaPlayer();
mMediaPlayer.setDataSource(this, alert);
final AudioManager audioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
if (audioManager.getStreamVolume(AudioManager.STREAM_ALARM) != 0) {
player.setAudioStreamType(AudioManager.STREAM_ALARM);
player.setLooping(true);
player.prepare();
player.start();
}
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
04-11 17:15:27.638: ERROR/MediaPlayerService(30): Couldn't open fd for
content://settings/system/ringtone
Run Code Online (Sandbox Code Playgroud)
所以..如果有人知道如何播放默认铃声/闹钟,请告诉我.
我不想上传任何文件.只需播放默认铃声.
我有一个片段,允许用户输入消息和电话号码,消息将被传递到该消息.我收到一个错误"无法解析方法getApplicationContext()"我已经看到了答案这里方法getApplicationContext()未定义但它没有帮助我,也许我实现它错了但我不确定!此代码作为活动可以正常工作,但不能作为片段.
FragmentTab1类
package com.androidbegin.absfragtabhost;
import android.content.Context;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.app.Fragment;
import android.app.Activity;
import android.telephony.SmsManager;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class FragmentTab3 extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragmenttab3, container, false);
super.onCreate(savedInstanceState);
//setContentView(R.layout.activity_main);
sendBtn = (Button) rootView.findViewById(R.id.btnSendSMS);
txtphoneNo = (EditText) rootView.findViewById(R.id.editTextPhoneNo);
txtMessage = (EditText) rootView.findViewById(R.id.editTextSMS);
sendBtn.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
sendSMSMessage();
} …Run Code Online (Sandbox Code Playgroud)