如何通过Android应用程序设置铃声?应用程序、铃声、Android

2023-09-04 06:15:01 作者:仙女山的月亮

我想设置通过我的Andr​​oid应用程序铃声。我试着用这个code

 公共无效的onCreate(包savedInstanceState){
    super.onCreate(savedInstanceState);
    的setContentView(R.layout.main);
    字符串的文件路径=/ SD卡/ sound.mp3;
    文件ringtoneFile =新的文件(文件路径);

    ContentValues​​内容=新ContentValues​​();
    content.put(MediaStore.MediaColumns.DATA,ringtoneFile.getAbsolutePath());
    的System.out.println(ringtoneFile.getAbsolutePath()++++++++++++++++++++++++++);
    content.put(MediaStore.MediaColumns.TITLEchinnu);
    content.put(MediaStore.MediaColumns.SIZE,215454);
    content.put(MediaStore.MediaColumns.MIME_TYPEsound.mp3);
    content.put(MediaStore.Audio.Media.ARTIST,麦当娜);
    content.put(MediaStore.Audio.Media.DURATION,230);
    content.put(MediaStore.Audio.Media.IS_RINGTONE,真正的);
    content.put(MediaStore.Audio.Media.IS_NOTIFICATION,假);
    content.put(MediaStore.Audio.Media.IS_ALARM,假);
    content.put(MediaStore.Audio.Media.IS_MUSIC,假);


    //把它插入到数据库
    字符串变量=;
    Log.i(TAG的文件的绝对路径是:+
    ringtoneFile.getAbsolutePath());
    开放的我们的uri = MediaStore.Audio.Media.getContentUriForPath(
    ringtoneFile.getAbsolutePath());
    乌里newUri = Context.getContentResolver()插入(URI,内容)。
    ringtoneUri = newUri;
   Log.i(TAG的铃声URI是:+ ringtoneUri);
   RingtoneManager.setActualDefaultRingtoneUri(背景下,
   RingtoneManager.TYPE_RINGTONE,newUri);


}
}
 

但我得到的错误:上下文不能被解析为一个类型。这是什么意思?我与Android开发的初学者。我把写_ external_storage许可也。 还有什么做我必须做才能成功运行此应用程序?在此先感谢

解决方案

 字符串的文件路径=/ SD卡/ Fast_N_Furious_2009.mp3;
    文件ringtoneFile =新的文件(文件路径);

    ContentValues​​内容=新ContentValues​​();
    content.put(MediaStore.MediaColumns.DATA,ringtoneFile.getAbsolutePath());
    content.put(MediaStore.MediaColumns.TITLEchinnu);
    content.put(MediaStore.MediaColumns.SIZE,215454);
    content.put(MediaStore.MediaColumns.MIME_TYPE,音频/ *);
    content.put(MediaStore.Audio.Media.ARTIST,麦当娜);
    content.put(MediaStore.Audio.Media.DURATION,230);
    content.put(MediaStore.Audio.Media.IS_RINGTONE,真正的);
    content.put(MediaStore.Audio.Media.IS_NOTIFICATION,假);
    content.put(MediaStore.Audio.Media.IS_ALARM,假);
    content.put(MediaStore.Audio.Media.IS_MUSIC,假);


    //把它插入到数据库
    Log.i(TAG的文件的绝对路径是:+
    ringtoneFile.getAbsolutePath());
    开放的我们的uri = MediaStore.Audio.Media.getContentUriForPath(ringtoneFile.getAbsolutePath());
    //乌里newUri = context.getContentResolver()插入(URI,内容)。
    乌里newUri = getContentResolver()插入(URI,内容)。
    串ringtoneUri = newUri.toString();

    Log.i(TAG的铃声URI是:+ ringtoneUri);
    RingtoneManager.setActualDefaultRingtoneUri(getBaseContext(),RingtoneManager.TYPE_RINGTONE,newUri);
 

Android手机怎样设置程序联网限制

I am trying set a ringtone through my android application. I tried with this code

  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    String filepath ="/sdcard/sound.mp3";
    File ringtoneFile = new File(filepath);

    ContentValues content = new ContentValues();
    content.put(MediaStore.MediaColumns.DATA,ringtoneFile.getAbsolutePath());
    System.out.println(ringtoneFile.getAbsolutePath()+"+++++++++++++++++++++++++");
    content.put(MediaStore.MediaColumns.TITLE, "chinnu");
    content.put(MediaStore.MediaColumns.SIZE, 215454);
    content.put(MediaStore.MediaColumns.MIME_TYPE, "sound.mp3");
    content.put(MediaStore.Audio.Media.ARTIST, "Madonna");
    content.put(MediaStore.Audio.Media.DURATION, 230);
    content.put(MediaStore.Audio.Media.IS_RINGTONE, true);
    content.put(MediaStore.Audio.Media.IS_NOTIFICATION, false);
    content.put(MediaStore.Audio.Media.IS_ALARM, false);
    content.put(MediaStore.Audio.Media.IS_MUSIC, false);


    //Insert it into the database
    String TAG="";
    Log.i(TAG, "the absolute path of the file is :"+
    ringtoneFile.getAbsolutePath());
    Uri uri = MediaStore.Audio.Media.getContentUriForPath(
    ringtoneFile.getAbsolutePath());
    Uri newUri = Context.getContentResolver().insert(uri, content);
    ringtoneUri = newUri; 
   Log.i(TAG,"the ringtone uri is :"+ringtoneUri);
   RingtoneManager.setActualDefaultRingtoneUri(context,
   RingtoneManager.TYPE_RINGTONE,newUri);


}
}

But I get the error: context cannot be resolved to a type. What does this mean? I am a beginner with android development. I set write_external_storage permission also.What more do I have to do to run this application successfully?Thanks in advance

解决方案

    String filepath ="/sdcard/Fast_N_Furious_2009.mp3";
    File ringtoneFile = new File(filepath);

    ContentValues content = new ContentValues();
    content.put(MediaStore.MediaColumns.DATA,ringtoneFile.getAbsolutePath());
    content.put(MediaStore.MediaColumns.TITLE, "chinnu");
    content.put(MediaStore.MediaColumns.SIZE, 215454);
    content.put(MediaStore.MediaColumns.MIME_TYPE, "audio/*");
    content.put(MediaStore.Audio.Media.ARTIST, "Madonna");
    content.put(MediaStore.Audio.Media.DURATION, 230);
    content.put(MediaStore.Audio.Media.IS_RINGTONE, true);
    content.put(MediaStore.Audio.Media.IS_NOTIFICATION, false);
    content.put(MediaStore.Audio.Media.IS_ALARM, false);
    content.put(MediaStore.Audio.Media.IS_MUSIC, false);


    //Insert it into the database
    Log.i(TAG, "the absolute path of the file is :"+
    ringtoneFile.getAbsolutePath());
    Uri uri = MediaStore.Audio.Media.getContentUriForPath(ringtoneFile.getAbsolutePath());
    //Uri newUri = context.getContentResolver().insert(uri, content);
    Uri newUri = getContentResolver().insert(uri, content); 
    String ringtoneUri = newUri.toString();

    Log.i(TAG,"the ringtone uri is :"+ringtoneUri);
    RingtoneManager.setActualDefaultRingtoneUri(getBaseContext(),RingtoneManager.TYPE_RINGTONE,newUri);