相关疑难解决方法(0)

获取上下文的各种方法之间有什么区别?

在我看过的各种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 android-context

387
推荐指数
4
解决办法
9万
查看次数

如何在Android中播放铃声/闹钟声音

我一直在寻找如何在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)

所以..如果有人知道如何播放默认铃声/闹钟,请告诉我.

我不想上传任何文件.只需播放默认铃声.

android android-emulator

113
推荐指数
9
解决办法
20万
查看次数

getApplicationContext()错误Android

我有一个片段,允许用户输入消息和电话号码,消息将被传递到该消息.我收到一个错误"无法解析方法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)

android android-fragments

8
推荐指数
2
解决办法
4万
查看次数