我如何使用Tianium在android中打开应用程序的设置?

我如何使用Tianium在android中打开应用程序的设置?,android,titanium,appcelerator-titanium,Android,Titanium,Appcelerator Titanium,以下代码运行良好 var intent = Ti.Android.createIntent({ action: 'android.settings.APPLICATION_SETTINGS', }); intent.addFlags(Ti.Android.FLAG_ACTIVITY_NEW_TASK); Ti.Android.currentActivity.startActivity(intent); 我从应用程序示例中获取了代码 应用程序是否需要某些权限才能在android 6.0

以下代码运行良好

var intent = Ti.Android.createIntent({
    action: 'android.settings.APPLICATION_SETTINGS',
});

intent.addFlags(Ti.Android.FLAG_ACTIVITY_NEW_TASK);
Ti.Android.currentActivity.startActivity(intent);
我从应用程序示例中获取了代码

应用程序是否需要某些权限才能在android 6.0中打开设置


谢谢您的帮助。

我发现问题是由于我使用了不正确的活动造成的,我在other.js文件中使用了该函数作为帮助程序。因为这句话,我意识到:

// Get a reference to this activity (current activity)
Ti.Android.currentActivity.startActivity(intent);
所以它指向了当前的活动(实际上不是真正的活动),这就是为什么它从未打开设置,所以我做了:

我将当前活动作为参数传递

var activity = Ti.Android.currentActivity;
openSettings(activity);
“到my”指向处理打开设置的函数。因此,我的职能是:

function openSettings(activity) {
    var intent = Ti.Android.createIntent({
        action: 'android.settings.APPLICATION_SETTINGS',
    });

    intent.addFlags(Ti.Android.FLAG_ACTIVITY_NEW_TASK);
    activity.startActivity(intent);
}

我发现这个问题是因为我使用了一个不正确的活动,我在其他.js文件中有这个函数作为助手。因为这句话,我意识到:

// Get a reference to this activity (current activity)
Ti.Android.currentActivity.startActivity(intent);
所以它指向了当前的活动(实际上不是真正的活动),这就是为什么它从未打开设置,所以我做了:

我将当前活动作为参数传递

var activity = Ti.Android.currentActivity;
openSettings(activity);
“到my”指向处理打开设置的函数。因此,我的职能是:

function openSettings(activity) {
    var intent = Ti.Android.createIntent({
        action: 'android.settings.APPLICATION_SETTINGS',
    });

    intent.addFlags(Ti.Android.FLAG_ACTIVITY_NEW_TASK);
    activity.startActivity(intent);
}

如您所述,要使用的代码如下:

var intent = Ti.Android.createIntent({
    action: activity, // e.g. "android.settings.APPLICATION_SETTINGS"
});
intent.addFlags(Ti.Android.FLAG_ACTIVITY_NEW_TASK);
Ti.Android.currentActivity.startActivity(intent);
data: "package:" + Ti.App.id
如果活动是此处指定的值:

此外,如果要打开应用程序设置页面,请使用以下代码:

var intent = Ti.Android.createIntent({
    action: "android.settings.APPLICATION_DETAILS_SETTINGS",
    data: "package:com.example.myapp"
});
intent.addFlags(Ti.Android.FLAG_ACTIVITY_NEW_TASK);
Ti.Android.currentActivity.startActivity(intent);
其中
com.example.myapp
是应用程序的程序包名称

如果要打开当前应用的应用设置页面,可以执行以下操作:

var intent = Ti.Android.createIntent({
    action: activity, // e.g. "android.settings.APPLICATION_SETTINGS"
});
intent.addFlags(Ti.Android.FLAG_ACTIVITY_NEW_TASK);
Ti.Android.currentActivity.startActivity(intent);
data: "package:" + Ti.App.id

如您所述,要使用的代码如下:

var intent = Ti.Android.createIntent({
    action: activity, // e.g. "android.settings.APPLICATION_SETTINGS"
});
intent.addFlags(Ti.Android.FLAG_ACTIVITY_NEW_TASK);
Ti.Android.currentActivity.startActivity(intent);
data: "package:" + Ti.App.id
如果活动是此处指定的值:

此外,如果要打开应用程序设置页面,请使用以下代码:

var intent = Ti.Android.createIntent({
    action: "android.settings.APPLICATION_DETAILS_SETTINGS",
    data: "package:com.example.myapp"
});
intent.addFlags(Ti.Android.FLAG_ACTIVITY_NEW_TASK);
Ti.Android.currentActivity.startActivity(intent);
其中
com.example.myapp
是应用程序的程序包名称

如果要打开当前应用的应用设置页面,可以执行以下操作:

var intent = Ti.Android.createIntent({
    action: activity, // e.g. "android.settings.APPLICATION_SETTINGS"
});
intent.addFlags(Ti.Android.FLAG_ACTIVITY_NEW_TASK);
Ti.Android.currentActivity.startActivity(intent);
data: "package:" + Ti.App.id