Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/198.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从应用程序外部更改应用程序配置:_Java_Android_Configuration_Application Settings - Fatal编程技术网

Java 从应用程序外部更改应用程序配置:

Java 从应用程序外部更改应用程序配置:,java,android,configuration,application-settings,Java,Android,Configuration,Application Settings,我想更改连接服务器的应用程序配置,其中有两个选项: 测试、生产。这是使用我的一个助手类中的静态字符串设置的 现在,我想在应用程序外部使用系统中的另一个图标进行此更改。 原因是我不希望用户能够这样做(我也不希望它成为我应用程序的一部分)。只有必须在字段中检查应用程序的开发团队才能添加此图标并进行此更改 因此,我不想创建某种小部件来安装我的应用程序 有没有办法做那样的事? 如果是这样,如何做到这一点? 我应该重新申请吗 谢谢。您可以在SharedReferences中设置此选项,并使用清单中的LAU

我想更改连接服务器的应用程序配置,其中有两个选项: 测试、生产。这是使用我的一个助手类中的静态字符串设置的

现在,我想在应用程序外部使用系统中的另一个图标进行此更改。 原因是我不希望用户能够这样做(我也不希望它成为我应用程序的一部分)。只有必须在字段中检查应用程序的开发团队才能添加此图标并进行此更改

因此,我不想创建某种小部件来安装我的应用程序

有没有办法做那样的事? 如果是这样,如何做到这一点? 我应该重新申请吗


谢谢。

您可以在
SharedReferences
中设置此选项,并使用清单中的LAUNCHER选项为开发团队创建一个活动来进行设置,因此它将有一个启动图标

要对用户隐藏此活动,您可以从发布版本的清单中删除此活动


如果您使用的是Android Studio/Gradle,您可以对不同的构建类型使用不同的AndroidManifest.xml,请参见

我最终使用了一个
Url方案
,对于此任务,可以在此处找到更多信息:

代码是,在主活动的清单文件中,我提供了以下意图过滤器:

  <intent-filter>
     <action android:name="android.intent.action.VIEW" />
     <category android:name="android.intent.category.DEFAULT" />
     <category android:name="android.intent.category.BROWSABLE" />
     <data android:scheme="myapp" android:host="com.myhost" />
  </intent-filter>
最后,要使用此意图过滤器启动应用程序,您需要创建一个HTML文件,代码如下:

<a href="myapp://com.myhost?server=my_test_server_address">test</a>
<a href="myapp://com.myhost?server=my_production_server_address">production</a>


如果我在清单文件中使用LAUNCHER intent筛选器创建两个活动,它将创建两个启动图标,每个图标指向同一应用程序的指定活动?是的。Android会为每个活动创建一个带有启动器类别的图标。在这里阅读更多信息-您询问如何向启动器添加其他图标,并得到了答案,请将其标记为已接受,而不是标记您自己的答案,因为该答案不回答问题question@GalBen-Haim,我问到:“从应用程序外部更改应用程序配置”,我还指出:“我不希望它成为我申请的一部分"... 您的解决方案可能对我的问题有效,但我必须始终保持它。。。。另一方面,使用URL方案,我只是在我的一台台式机上添加了一个网页的快捷方式,效果非常好。所以事实上,这是一个更好的解决方案,解决了我的问题,然后你提出了。。现在,请取消否决票,没有必要生气。
<a href="myapp://com.myhost?server=my_test_server_address">test</a>
<a href="myapp://com.myhost?server=my_production_server_address">production</a>