直接看代码:
import android.app.*;
import android.content.Intent;
import android.media.RingtoneManager;
import android.net.Uri;
import android.os.*;
import android.util.*;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class MainActivity extends Activity
{
private Uri myUri = null;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button myButton = (Button) findViewById(R.id.myButton);
myButton.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Intent intent = new Intent();
intent.setAction(RingtoneManager.ACTION_RINGTONE_PICKER);
// Allow user to pick 'Default'
//intent.putExtra(RingtoneManager.EXTRA_RINGTONE_SHOW_DEFAULT, true);
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TITLE,"设置通知铃声");
// Show only ringtones
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE, RingtoneManager.TYPE_RINGTONE);
// Don't show 'Silent'
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_SHOW_SILENT, false);
//Uri ringtoneUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_RINGTONE);
// Put checkmark next to the current ringtone for this contact
if(myUri != null)
{
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_EXISTING_URI, myUri);
//intent.putExtra(RingtoneManager.EXTRA_RINGTONE_PICKED_URI, myUri);
}
// Launch!
startActivityForResult(intent, 0);
}
});
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data)
{
try
{
myUri = data.getParcelableExtra(RingtoneManager.EXTRA_RINGTONE_PICKED_URI);
Log.i("pickedUri", myUri.toString() + "");
}
catch (Exception e)
{
e.printStackTrace();
}
}
}
分享到:
相关推荐
### Android界面设计规范详解 #### 一、引言 随着移动互联网的发展,Android平台的应用程序越来越多,为了确保用户获得良好的体验,开发者需要遵循一定的界面设计规范。本文将深入探讨Android界面设计规范,特别是...
创建新项目是开始Android应用开发的起始点,用户可以通过“File”菜单中的“New”选项来创建新的Android项目,并根据向导进行项目设置。编写和测试代码是开发过程中最主要的环节,Android Studio提供了代码编辑、...
在Android开发中,实现丰富的用户界面是至关重要的,其中菜单的动画效果能极大地提升应用的交互体验和视觉吸引力。本文将深入探讨如何在Android中创建一个动态的菜单展开动画,以此来模仿卫星导航菜单(Satellite ...
当用户在屏幕上滑动时,我们需要记录下手指的起始位置和结束位置,然后在onDraw()方法中用这些信息绘制线条。MotionEvent对象包含了触摸事件的所有信息,如ACTION_DOWN、ACTION_MOVE和ACTION_UP,我们可以根据这些...
`<ProgressBar>`标签定义,`android:indeterminate`用于设置是否为不确定模式。 7. **图片视图(ImageView)**:显示图片,支持本地资源、网络图片或SVG矢量图。通过`<ImageView>`标签创建,`android:src`设置图片源...
在Android应用开发中,UI设计和用户体验是至关重要的部分,其中进度条或进度视图是常见的一种用户界面元素,用于指示任务的完成进度或者加载状态。`CircularProgressView`是针对这种需求的一个自定义控件,它允许...
这个问题通常表现为每一行的起始位置不一致,影响了整体布局的美观度。本文将深入探讨这个问题及其解决方案。 首先,我们要理解`TextView`的默认排版方式。`TextView`使用的是左对齐(或称为“左justify”)的排版...
在ACTION_DOWN时记录起始坐标,在ACTION_MOVE时更新当前坐标并绘制,ACTION_UP时结束绘制。 5. **图形缓存**:为了保持流畅的用户体验,我们可以将用户的画图保存在一个Bitmap缓存中。每次触摸事件后,更新Bitmap上...
在Android开发中,自定义View是一项常见的需求,它允许开发者根据特定的设计或功能需求创建独特的用户界面组件。本文将深入探讨如何实现一个自定义的转盘View,即"android自定义转盘view",并结合描述中的关键词...
初始化完成后,你可以设置地图的显示选项,如缩放级别、初始位置、地图类型等。 3. **定位服务**:利用LocationServices和FusedLocationProviderClient,可以获取设备的当前位置。这通常用于显示用户当前所在的位置...
- 通过设置 `LinearLayout` 的 `layoutDirection` 属性为 `"rtl"` 来实现从右向左的布局方向。 - 可以通过 `layout_marginStart` 设置起始边缘的间距。 **2.2 常用控件** - **TextView**: - 显示文本。 - ...
"Android超赞动态环形比例图"正是这样一个专为Android平台设计的高效工具,它提供了美观且动态的展示效果,可以轻松集成到各种应用中,为用户提供近乎完美的视觉体验。 首先,我们要了解如何创建这样的动态环形比例...
3. **挂断处理**:如果设置了电源键为挂断键,并且当前有电话在接通状态,则执行挂断操作。 4. **截图功能**:如果用户尝试进行截图操作,则触发相应的事件处理。 5. **最终处理**:根据当前的状态,决定是唤醒还是...
通过设置起始和结束日期,可以限制用户只能在特定范围内选择日期,避免不合法的日期输入。同时,还可以为每个日期设置可选或禁选状态,比如禁止选择周末或者过去的日子。 ### 4. 国际化支持 考虑到全球用户的使用...
在Android开发中,创建用户友好的界面和流畅的交互体验是非常关键的。本教程将带你深入理解如何在Android应用中实现底部导航栏(Bottom Navigation Bar)以及如何在其中嵌套使用RecyclerView,同时还会涉及到点赞...
在Android开发中,实现圆角进度显示是一种常见的需求,它能为用户界面增添美观和现代感。圆角进度条通常用于展示数据加载、任务完成度等动态信息,且具有较高的可定制性。以下将详细讲解如何在Android中创建并自定义...
`Path.addArc()`方法可以用来添加一个圆弧到路径中,通过设置圆心、半径以及起始和结束角度,可以构建出扇形的边缘。然后结合`Paint`对象设置线条颜色和填充色,完成扇形的绘制。 源码中可能还包含了布局文件(XML...
例如,如果已下载了前1MB,那么Range头应该设置为"Bytes=1MB-文件总大小"。 4. 创建下载线程:为了避免阻塞UI线程,下载操作应在工作线程(如AsyncTask或IntentService)中执行。在Service中创建这样的线程,负责...
接着,创建NavigationOptions对象,设置起点和终点,以及个性化选项如语音语言、地图样式等。调用NavigationView.startNavigation()方法启动导航,用户界面将自动更新以反映导航状态。 自定义方面,Mapbox提供了...
在Android平台上,开发一款自定义的2048小游戏是一个相当有趣的挑战,它涉及到许多核心的Android编程概念和技术。2048游戏是一款基于数字合并的益智游戏,玩家通过上下左右滑动屏幕来合并相同的数字,最终目标是达到...