我找到了很多如何获取默认铃声的例子.像这样的东西:
Uri alert = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_RINGTONE);
Ringtone ringtone = RingtoneManager.getRingtone(getApplicationContext(), alert);
ringtone.setStreamType(AudioManager.STREAM_RING);
ringtone.play();
Run Code Online (Sandbox Code Playgroud)
但我想获得用户设置的实际当前铃声.
一切正常'androidx.biometric:biometric:1.0.0-alpha03'
,但是当我使用最新版本构建项目'androidx.biometric:biometric:1.0.0-alpha04'
并调用myBiometricPrompt.authenticate(promptInfo)
它时,会引发此异常:FragmentManager is already executing transactions
。
这是堆栈跟踪:
java.lang.IllegalStateException: FragmentManager is already executing transactions
at androidx.fragment.app.FragmentManagerImpl.ensureExecReady(FragmentManager.java:2207)
at androidx.fragment.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2267)
at androidx.fragment.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:814)
at androidx.biometric.BiometricPrompt.authenticateInternal(BiometricPrompt.java:525)
at androidx.biometric.BiometricPrompt.authenticate(BiometricPrompt.java:465)
at com.my.app.ui.LoginFragment.handleTouchIdAuth(LoginFragment.kt:161)
at com.my.app.ui.LoginFragment.onViewCreated(LoginFragment.kt:62)
at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManager.java:1471)
at androidx.fragment.app.FragmentManagerImpl.addAddedFragments(FragmentManager.java:2646)
at androidx.fragment.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2416)
at androidx.fragment.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManager.java:2372)
at androidx.fragment.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2273)
at androidx.fragment.app.FragmentManagerImpl.dispatchStateChange(FragmentManager.java:3273)
at androidx.fragment.app.FragmentManagerImpl.dispatchActivityCreated(FragmentManager.java:3229)
at androidx.fragment.app.Fragment.performActivityCreated(Fragment.java:2466)
at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManager.java:1483)
at androidx.fragment.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1784)
at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManager.java:1852)
at androidx.fragment.app.FragmentManagerImpl.dispatchStateChange(FragmentManager.java:3269)
at androidx.fragment.app.FragmentManagerImpl.dispatchActivityCreated(FragmentManager.java:3229)
at androidx.fragment.app.FragmentController.dispatchActivityCreated(FragmentController.java:201)
at androidx.fragment.app.FragmentActivity.onStart(FragmentActivity.java:620)
at androidx.appcompat.app.AppCompatActivity.onStart(AppCompatActivity.java:178)
at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1391)
at android.app.Activity.performStart(Activity.java:7157)
at android.app.ActivityThread.handleStartActivity(ActivityThread.java:2937)
at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:180)
at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:165)
at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:142)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:70) …
Run Code Online (Sandbox Code Playgroud) 我创建了一个管理 XMPP 连接的服务。我的应用程序需要定期接收 XMPP 消息。一切似乎都按预期工作,但只有当手机插入 Android Studio 并且我在调试模式下运行应用程序时。当我拔掉电话,或者即使它已插入但我从电话而不是从 AS 启动应用程序,该服务似乎没有启动...
我确保在清单中正确声明了我的服务:
<service
android:name=".xmpp.MyService"
android:enabled="true" />
Run Code Online (Sandbox Code Playgroud)
其中 .xmpp 是我的主包中的一个子包。
这是我的服务
public class MyService extends Service {
public static ConnectivityManager cm;
public static MyXMPP xmpp;
private static String LOG_TAG = "MyService";
@Override
public IBinder onBind(final Intent intent) {
Log.v(LOG_TAG, "in onBind");
return null;
}
@Override
public void onCreate() {
super.onCreate();
cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
if (CurrentInfo.getUser() != null) {
xmpp = MyXMPP.getInstance(MyService.this, getResources().getString(R.string.xmpp_url), CurrentInfo.getUser().getJabberId(), getString(R.string.xmpp_password));
xmpp.connect("onCreate");
}
}
@Override
public int onStartCommand(final …
Run Code Online (Sandbox Code Playgroud) service android android-service android-studio android-service-binding
我遇到了一个问题,我不得不将超过200个新用户加载到我的django应用程序中,并立即向他们发送密码重置电子邮件.这必须只发生一次,只由我做,并在后端安静地运行.上网冲浪只给我一个或多或少的正确答案:在没有浏览器的情况下触发django中的密码重置电子邮件?.唯一的问题是这篇文章大约4年了,当然当我尝试解决方案时,它没有用...