相关疑难解决方法(0)

如何播放Android通知声音

我想知道如何在不播放媒体流的情况下播放通知声音.现在我可以通过媒体播放器这样做,但我不希望它作为媒体文件播放,我希望它作为通知或警报或铃声播放.下面是我的代码现在看起来像一个例子:

MediaPlayer mp = new MediaPlayer();
mp.reset();
mp.setDataSource(notificationsPath+ (String) apptSounds.getSelectedItem());
mp.prepare();
mp.start();
Run Code Online (Sandbox Code Playgroud)

audio notifications android

159
推荐指数
5
解决办法
21万
查看次数

我应该在长时间运行的AsyncTask中使用getApplicationContext或Activity.this

我有一个长时间运行的异步任务,它将一些数据发送到我的服务器,然后停止.整个过程可能涉及一些请求和响应.我必须从数据库中读取数据,发送它并处理响应并相应地更新我的数据库.我正在使用内容提供程序从数据库中读取和更新数据.

现在要使用Content Provider,我必须getContentResolver()在上下文中调用该方法.所以我想知道我是否必须使用getApplicationContext或只是传递Activity.this给我的方法.

我看了几个帖子是这样解释两个和大部分之间的区别,他们劝告我们不要使用getApplicationContext,如果可能的.虽然我不希望我AsyncTask失去从被破坏或方向改变Activity.this时的背景Activity.所以我想知道我是否可以使用getApplicationContext我的情况或使用Activity.this符合我的要求.

android

41
推荐指数
1
解决办法
2万
查看次数

无法在某些设备上播放默认通知铃声

这是我播放铃声通知的代码片段:

Uri u = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
Ringtone r = RingtoneManager.getRingtone(MainActivity.this, u);
r.play();
Run Code Online (Sandbox Code Playgroud)

这似乎在大多数设备上都能正常工作。但是,在三星 S8 和三星 S9 等某些设备上,它不起作用。Logcat 显示:

I/Ringtone: Internal uri : content://settings/system/notification_sound
D/RingtoneManager: getActualDefaultRingtoneUri  type    :2
W/MediaPlayer: Couldn't open content://0@settings/system/notification_sound_cache: 
java.io.FileNotFoundException: open failed: ENOENT (No such file or directory)
Run Code Online (Sandbox Code Playgroud)

请注意,相同的代码在三星 S7 上运行良好。

想知道是否有人有任何见解。

android android-contentresolver android-notifications

7
推荐指数
0
解决办法
1224
查看次数

按钮在Android中单击时播放声音

我是Android的新手,我正在尝试做一些简单的事情,比如点击按钮时播放自定义MP3.这似乎是一个相当 普遍的 问题,但即使我的代码遵循示例,并且我没有收到任何错误,我在模拟器或真实手机中都听不到任何声音.

我的MainActivity.java:

public class MainActivity extends Activity {

    private static final String TAG = "MyActivity";

    public void MyActivity(Bundle onSavedStateInstance) {
        Log.v(TAG, "Initializing sounds...");

        final MediaPlayer mp = MediaPlayer.create(this, R.raw.alarma_67560);

        Button play_button = (Button)this.findViewById(R.id.play_button);
        play_button.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                Log.v(TAG, "Playing sound...");
                mp.start();
            }
        });
        Log.v(TAG, "Sounds initialized.");
    }

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }

}
Run Code Online (Sandbox Code Playgroud)

还有我的activity_main.xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools" …
Run Code Online (Sandbox Code Playgroud)

eclipse android eclipse-adt

5
推荐指数
1
解决办法
4万
查看次数

Android adb shell命令从命令行播放声音

我有一组 root 的 Android 设备,可以通过 adb 通过 tcp/ip 访问。我试图通过从命令行播放声音(/system/media/audio 中的 .ogg 文件之一)来识别特定的声音。

我知道我可能可以为此构建一个应用程序,但使用 APK 感觉有点大材小用,我希望有一种更原生的方式。我已经知道如何从命令行启动意图。

我尝试过的事情:

  • 调查使用service call media.player但找不到任何有关语法的有用参考。我可以看到dumpsys media.player有关 AwesomePlayer 的参考资料,但无法进行任何操作。
  • 试图从 android 源代码中找到“ /system/bin/media ”的编译版本,因为它在设备中丢失,但到目前为止没有任何运气。
  • 尝试构建一个命令行java应用程序来调用android.media.MediaPlayer,dalvikvm但我对Android和java的了解太有限(类编译但抱怨运行时缺少依赖项)

有任何想法吗?

android adb

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

如何在Android中使用无限循环播放铃声?

我想播放在设备设置中选择的铃声,但是在循环模式下.

在这里你可以看到如何只播放一次:如何在Android中播放铃声/闹钟声音

Uri notification = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
Ringtone r = RingtoneManager.getRingtone(getApplicationContext(), notification);
r.play();
Run Code Online (Sandbox Code Playgroud)

我需要让它在循环模式下播放,但我不知道该怎么做...

谢谢

android ringtone android-notifications

2
推荐指数
1
解决办法
7529
查看次数