Android中的许多功能都需要在清单中设置使用权限.然后,这些值确定哪些设备将在Market中看到它们.但是,如果该功能是可选的,应该怎么做...如果它可以在许多设备上运行,但只需要几个许可?
例如:让我们说一个具有多种功能和大量内容的应用程序 - 它提供了一个按钮来呼叫公司.这是一个很好的方便功能,而不是写下数字或将其复制并粘贴到手机应用程序中.然而,这并不重要.
如果使用该功能和电话的权限被添加到应用程序,那么这一切都很好的手机 - 但没有平板电脑会在市场上看到的应用程序.
这个问题的一般解决方案是什么?
可以使用不同的权限制作多个应用程序,但是这种方法存在一些问题(额外的开发时间,难以保持维护一致,评论和评级分散在不同的应用程序中,以及是否存在多种不同类型的可选权限而不是不同的每个组合可能需要应用程序).
该应用程序可以以编程方式检查该功能是否可用并根据设备启用或禁用该功能.问题是,如果应用程序没有权限,那么如果它尝试使用该功能它将崩溃 - 如果它确实拥有权限,则某些设备将无法在该应用程序中找到该应用程序.市场.
在某些情况下,可以完全从应用程序中删除不重要的功能以避免该问题.这也不是一个很好的解决方案,因为这些功能在支持它的设备上"很高兴".
是的,我知道Android中是否可以拥有"可选"权限?是一个类似的问题.我希望有更新的信息以及人们发现的其他解决方法,如果有的话...这个问题的解决方案是什么?除了我上面列出的那些之外,有没有其他方法?
我尝试从我的Flutter应用程序拨打电话.使用以下代码:
UrlLauncher.launch('tel: xxxxxxxx');
Run Code Online (Sandbox Code Playgroud)
我在github flutter repo上找到了这个函数:https://github.com/flutter/flutter/issues/4856
但这对我不起作用.这个功能仍然在颤动和哪个包中?或者有更好的选择从我的应用程序拨打电话?
我使用以下许可从我的应用程序拨打电话
< uses-permission android:name="android.permission.CALL_PHONE" />
Run Code Online (Sandbox Code Playgroud)
这是我打电话的代码.
Intent iniCall=new Intent(Intent.ACTION_CALL);
iniCall.setData(Uri.parse("tel:9849199291");
startActivity(iniCall);
Run Code Online (Sandbox Code Playgroud)
但它启动Skype应用程序而不是启动默认呼叫应用程序.
如何从默认调用应用程序调用?
我正试图通过该应用程序拨打电话
我希望它在通话结束后返回应用程序
我在这个论坛上问过这个问题,但我不明白答案
如何在Android中拨打电话并在通话结束后回到我的活动中?
public void call() {
try {
Intent callIntent = new Intent(Intent.ACTION_CALL);
callIntent.setData(Uri.parse("tel:048598077"));
getContext().startActivity(callIntent);
} catch (ActivityNotFoundException activityException) {
Log.e("dialing-example", "Call failed", activityException);}
finally {
EndCallListener callListener = new EndCallListener();
TelephonyManager mTM = (TelephonyManager)getContext().getSystemService(Context.TELEPHONY_SERVICE);
mTM.listen(callListener, PhoneStateListener.LISTEN_CALL_STATE);
}
}
private class EndCallListener extends PhoneStateListener {
@Override
public void onCallStateChanged(int state, String incomingNumber) {
if(TelephonyManager.CALL_STATE_RINGING == state) {
Log.i(LOG_TAG, "RINGING, number: " + incomingNumber);
}
if(TelephonyManager.CALL_STATE_OFFHOOK == state) {
//wait for phone to go offhook (probably set a boolean …Run Code Online (Sandbox Code Playgroud) 我在 android jetpack compose 中有一个简单的按钮,当我单击该按钮时,我想打开 gmail 并将邮件发送到“android@gmail.com”,这可能吗?
@Composable
fun SimpleButton() {
Button(onClick = {
//your onclick code here
}) {
Text(text = "Simple Button")
}
}
Run Code Online (Sandbox Code Playgroud) 当我使用时,我有一个简单的问题
var phone_number='12346789';
Titanium.Platform.openURL('tel:'+phone_number);
it goes to dial pad in android i want it to directly dial the call without prompting the user to press the call button.
Run Code Online (Sandbox Code Playgroud)
我在AndroidManifest.xml中添加了权限
<uses-permission android:name="android.permission.CALL_PHONE" />
Run Code Online (Sandbox Code Playgroud)
但它还没有工作仍然要求用户按下通话按钮.任何人都有这个想法请帮助.
阿里.