我想通过单击首选项条目来打开应用程序设置.所以我向preferences.xml添加了一个intent
<PreferenceScreen androID:key="DELETE_DATA" androID:title="@string/pref_delete_data"> <intent androID:action="androID.provIDer.Settings.ACTION_APPliCATION_DETAILS_SETTINGS"/> </PreferenceScreen>
我已经在AndroIDManifest.xml中添加了一个Intent-filter
<activity androID:name=".SettingsActivity" androID:label="@string/Title_activity_settings" androID:parentActivityname=".MainActivity"> <intent-filter> <action androID:name="androID.provIDer.Settings.ACTION_APPliCATION_DETAILS_SETTINGS"/> <category androID:name="androID.intent.category.DEFAulT"/> </intent-filter>...
使用上面的代码,没有任何 *** 作或错误.但我不知道为什么……
如果我要删除< category>出现错误,因此意图被触发.有任何想法吗?
设备:搭载AndroID 4.4.4的HTC One M8
解决方法:
对于其他对OP如何使用OnPreferenceClickListener,check out this answer from a similar question感兴趣的人.但是直接从intent启动一个活动,这对我有用:
<?xml version="1.0" enCoding="utf-8"?><PreferenceScreen xmlns:androID="http://schemas.androID.com/apk/res/androID"> <Preferencecategory androID:title="@string/pref_Title_category_name"> <PreferenceScreen androID:title="@string/pref_Title_activity_name" androID:key="pref_launch_settings"> <intent androID:action="androID.intent.action.VIEW" androID:data="<data>" androID:targetPackage="<package name>" androID:targetClass="<target class>" /> </PreferenceScreen></Preferencecategory>
data =完整包名称加活动名称.即,com.example.myapp.Activityname
package name =清单文件根目录中定义的包名称.即,com.example.myapp
targetClass =再次完整包路径,即com.example.myapp.Activityname
请注意,我正在使用< intent>在PreferenceScreen中使用这种方式标记,而不是Preferencecategory.
希望有所帮助!
总结以上是内存溢出为你收集整理的android – 通过preferences.xml中的Intent打开应用程序设置全部内容,希望文章能够帮你解决android – 通过preferences.xml中的Intent打开应用程序设置所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)