我想知道如何在不播放媒体流的情况下播放通知声音.现在我可以通过媒体播放器这样做,但我不希望它作为媒体文件播放,我希望它作为通知或警报或铃声播放.下面是我的代码现在看起来像一个例子:
MediaPlayer mp = new MediaPlayer();
mp.reset();
mp.setDataSource(notificationsPath+ (String) apptSounds.getSelectedItem());
mp.prepare();
mp.start();
Run Code Online (Sandbox Code Playgroud) 我不需要掩码,但我需要一些可以格式化货币的东西(在所有浏览器中)并且不允许输入任何字母或特殊字符.谢谢您的帮助
例:
有效期:$ 50.00
$ 1,000.53
无效:$ w45.00
$ 34.3r6
我在捕获图像并将其存储在本机相机应用程序时遇到问题.以下是我的一些代码示例.
_path = Environment.getExternalStorageDirectory() + "make_machine_example.jpg";
File file = new File( _path );
Uri outputFileUri = Uri.fromFile( file );
Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE );
intent.putExtra( MediaStore.EXTRA_OUTPUT, outputFileUri );
startActivityForResult( intent, 0 );
Run Code Online (Sandbox Code Playgroud)
拍完照片后我又回到原来的活动中,当我通过Android DDMS文件浏览器导航到我的SD卡时,图片不存在.任何人都知道为什么没有得救?
camera android android-intent android-camera android-camera-intent
我遇到了一个问题,alarmManager并且还有与其相关的额外内容.
如果我设置多个警报,它们将会关闭,但附加功能保持不变.
我已经读过这些问题:
我试过了:
一切都无济于事.我不知道为什么它不起作用.
这是一段代码:
Intent intent = new Intent(con,
AppointmentNotificationReciever.class);
intent.putExtra("foo", bar.toString());
int id = randomNum;
PendingIntent sender = PendingIntent.getBroadcast(con, id,
intent, PendingIntent.FLAG_UPDATE_CURRENT);
AlarmManager am = (AlarmManager) con.getSystemService(Context.ALARM_SERVICE);
am.set(AlarmManager.RTC_WAKEUP, scheduleExecution, sender);
Run Code Online (Sandbox Code Playgroud) android alarmmanager extras android-intent android-pendingintent
我有一个alarmManager用于在特定时间向用户发送通知的内容.由于有多个警报,我有多个未决的意图,我正在创建并提供一个唯一的ID,但在某些情况下,我需要获取所有待处理的意图,然后取消它们,这样我就可以重置警报.我试过这样做,我似乎仍然无法做到这一点所以我有几个问题:
这是你如何正确获取和取消PendingIntent?
Intent intent = new Intent(con, AppointmentNotificationReciever.class);
PendingIntent sender = PendingIntent.getBroadcast(con, id, intent,
PendingIntent.FLAG_CANCEL_CURRENT);
AlarmManager am = (AlarmManager) con.getSystemService(Context.ALARM_SERVICE);
am.cancel(sender);
Run Code Online (Sandbox Code Playgroud)
意图是否需要与原始待定意图(附加内容和所有内容)完全匹配?
PendingIntent标志是否需要与原始待定意图的标志相匹配?
我试图抓住包替换广播为我的应用程序和我的应用程序,但由于某些原因在我的收件人我是广播的每个更新的应用程序.我以为你只需要将清单文件中的intent过滤器设置到你的应用程序,但也许我错了?
这是我的代码(清单):
<receiver android:name=".UpdateReciever">
<intent-filter>
<action android:name="android.intent.action.PACKAGE_REPLACED" />
<data android:scheme="package" android:path="com.my.app" />
</intent-filter>
</receiver>
Run Code Online (Sandbox Code Playgroud)
Reciever:
public class AppUpdateReciever extends BroadcastReceiver {
@Override
public void onReceive(Context con, Intent intent) {
//code..
}
}
Run Code Online (Sandbox Code Playgroud) 每次我在eclipse中调试时都会遇到这个奇怪的错误.它似乎有一天出现,我想知道是否有其他人在运行同样的问题.它无论如何都不会影响我的应用程序并且不会导致崩溃但是在调试时这是一个烦恼.这是完整的错误:
// Compiled from DexFile.java (version 1.5 : 49.0, super bit)
public final class dalvik.system.DexFile {
// Method descriptor #8 (Ljava/io/File;)V
// Stack: 3, Locals: 2
public DexFile(java.io.File file) throws java.io.IOException;
0 aload_0 [this]
1 invokespecial java.lang.Object() [1]
4 new java.lang.RuntimeException [2]
7 dup
8 ldc <String "Stub!"> [3]
10 invokespecial java.lang.RuntimeException(java.lang.String) [4]
13 athrow
Line numbers:
[pc: 0, line: 4]
Local variable table:
[pc: 0, pc: 14] local: this index: 0 type: dalvik.system.DexFile
[pc: 0, pc: 14] local: file …Run Code Online (Sandbox Code Playgroud) 我目前正在尝试编写警报管理器,它将在每天指定的时间段内发出警报.首先,我检查用户是否为当天设置了警报:
if ((User.getReminderTime(Home.this) > 0)
&& (dt.getDate() != today.getDate() || dt.getDay() != today
.getDay())) {
AppointmentManager.setFutureAppointmentCheck(this
.getApplicationContext());
User.setLongSetting(this, "futureappts", today.getTime());
}
Run Code Online (Sandbox Code Playgroud)
然后我去设置实际的闹钟在第二天的12点到12点10分之间:
public static void setFutureAppointmentCheck(Context con) {
AlarmManager am = (AlarmManager) con
.getSystemService(Context.ALARM_SERVICE);
Date futureDate = new Date(new Date().getTime() + 86400000);
Random generator = new Random();
futureDate.setHours(0);
futureDate.setMinutes(generator.nextInt(10));
futureDate.setSeconds(0);
Intent intent = new Intent(con, FutureAppointmentReciever.class);
PendingIntent sender = PendingIntent.getBroadcast(con, 0, intent,
PendingIntent.FLAG_ONE_SHOT);
am.set(AlarmManager.RTC_WAKEUP, futureDate.getTime(), sender);
}
Run Code Online (Sandbox Code Playgroud)
现在我为此设置了一个测试环境,每隔两分钟就会启动一次,看起来工作正常,但是当我部署到实际设备时,接收器似乎没有收到警报.我认为这可能是设备处于睡眠状态的问题,所以我添加了电源管理器.但它仍然不起作用:
PowerManager pm = (PowerManager) context
.getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wl = pm.newWakeLock(
PowerManager.PARTIAL_WAKE_LOCK, "keepAlive"); …Run Code Online (Sandbox Code Playgroud) 随着instagrams新的api更改,似乎没有办法在没有某种用户交互的情况下获得access_token.我发现的所有文档都表明,在通过用户交互(https://www.instagram.com/developer/authentication/)授权应用程序时,必须通过loggin :
服务器端(显式)流程
第一步:将用户引导至我们的授权网址
https://api.instagram.com/oauth/authorize/?client_id=CLIENT-ID&redirect_uri=REDIRECT-URI&response_type=code 注意:您可以提供可选的范围参数,以请求"基本"权限范围之外的其他权限.详细了解范围.
注意:您可以提供可选的状态参数以执行特定于服务器的状态.例如,您可以使用它来防止CSRF问题.
此时,我们向用户显示一个登录屏幕,然后是一个确认屏幕,用于授予您的应用访问其Instagram数据的权限.
客户端(隐式)身份验证
第一步:将用户引导至我们的授权网址
https://api.instagram.com/oauth/authorize/?client_id=CLIENT-ID&redirect_uri=REDIRECT-URI&response_type=token 此时,我们向用户显示一个登录屏幕,然后是一个确认屏幕,他们授予您应用的访问权限他们的Instagram数据.请注意,与显式流不同,此处的响应类型为"token".
使用可定期刷新的access_token,是否可以在没有用户交互的情况下获取访问令牌?
我试图在我的网站上显示我的Feed,但除了API更改后提供的嵌入选项之外,我还没有找到方法.
编辑:我的问题被标记为应用程序的Instagram OAuth访问令牌过期,但我不是在考虑到期(在IG文档中没有明确定义).我想要一种纯粹的编程方式来获取access_token.
android ×8
alarmmanager ×3
audio ×1
broadcast ×1
camera ×1
currency ×1
eclipse ×1
extras ×1
formatter ×1
instagram ×1
intentfilter ×1
java ×1
javascript ×1
jquery ×1
oauth ×1