رفتن به مطلب
  • 0

rezac

سوال

سلام و خسته نباشید.

من میخام داخل نرم افزار یک button باشه که وقتی روش کلیک کنم به قسمت برنامه های حفاظت شده از تنظیمات بره که بشه نرم افزار رو توش اضافه کرد.

کمکم کنید ممنون میشم.♥

لینک ارسال
به اشتراک گذاری در سایت های دیگر

10 پاسخ به این سوال تاکنون داده شده است

ارسال های توصیه شده

در در 1397/08/25, 23:05:26، محمدرضا شاهپیری گفته است :

با جاوا آبجکت براتون میگم. ایشالا که مفید باشه.

کد زیر رو به اکتیویتی اضافه کنید.


#If java


import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import anywheresoftware.b4a.BA;
import java.util.Arrays;
import java.util.List;


public static void startProtectedIntent() {
   
        for (final Intent intent : POWERMANAGER_INTENTS) {
            if (isCallable( BA.applicationContext, intent)) {
            BA.applicationContext.startActivity(intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)); 
                break;
            }
      }
}

public static boolean isCallable(Context context, Intent intent) {
    List<ResolveInfo> list = context.getPackageManager().queryIntentActivities(intent,
            PackageManager.MATCH_DEFAULT_ONLY);
    return list.size() > 0;
}

public static List<Intent> POWERMANAGER_INTENTS = Arrays.asList(
    new Intent().setComponent(new ComponentName("com.miui.securitycenter", "com.miui.permcenter.autostart.AutoStartManagementActivity")),
    new Intent().setComponent(new ComponentName("com.letv.android.letvsafe", "com.letv.android.letvsafe.AutobootManageActivity")),
    new Intent().setComponent(new ComponentName("com.huawei.systemmanager", "com.huawei.systemmanager.optimize.process.ProtectActivity")),
    new Intent().setComponent(new ComponentName("com.huawei.systemmanager", "com.huawei.systemmanager.appcontrol.activity.StartupAppControlActivity")),
    new Intent().setComponent(new ComponentName("com.coloros.safecenter", "com.coloros.safecenter.permission.startup.StartupAppListActivity")),
    new Intent().setComponent(new ComponentName("com.coloros.safecenter", "com.coloros.safecenter.startupapp.StartupAppListActivity")),
    new Intent().setComponent(new ComponentName("com.oppo.safe", "com.oppo.safe.permission.startup.StartupAppListActivity")),
    new Intent().setComponent(new ComponentName("com.iqoo.secure", "com.iqoo.secure.ui.phoneoptimize.AddWhiteListActivity")),
    new Intent().setComponent(new ComponentName("com.iqoo.secure", "com.iqoo.secure.ui.phoneoptimize.BgStartUpManager")),
    new Intent().setComponent(new ComponentName("com.vivo.permissionmanager", "com.vivo.permissionmanager.activity.BgStartUpManagerActivity")),
    new Intent().setComponent(new ComponentName("com.samsung.android.lool", "com.samsung.android.sm.ui.battery.BatteryActivity")),
    new Intent().setComponent(new ComponentName("com.htc.pitroad", "com.htc.pitroad.landingpage.activity.LandingPageActivity")),
    new Intent().setComponent(new ComponentName("com.asus.mobilemanager", "com.asus.mobilemanager.MainActivity"))
);
#End If

و به صورت زیر استفاده کنید. با نوشتن متد زیر اگه اینتنتی پیدا بشه اونو استارت میکنه و به تنظیمات مربوطه میره.

 Dim jo As JavaObject
	jo.InitializeContext.RunMethod("startProtectedIntent",Null)

 

 

یه مشکل داره این کد:

وقتی کپی میکنم بین کدهای برنامم یه حروف اضافی هم کپی میشه همراه با این کدها که فکر میکنم مشکل از انجمنه.

خطای زیر رو هنگام کامپایل میده:

Compiling generated Java code.    Error
javac 1.8.0_101
src\b4a\example\main.java:792: error: incompatible types: String cannot be converted to Parcel
	??new intent() .setComponent(new ComponentName("??com?.?huawei?.?systemmanager?.?optimize?.?process?.?ProtectActivity??"))'??
	                                             ^
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some messages have been simplified; recompile with -Xdiags:verbose to get full output
1 error

اگه دقت کنید بین کد زیر علامت سوال وجود داره:

	??new intent() .setComponent(new ComponentName("??com?.?huawei?.?systemmanager?.?optimize?.?process?.?ProtectActivity??"))'??

این علامت سوال ها یه کاراکتر هایی هستند که دیده نمی شن ولی هنگام اجرا، خطا درست میکنن. وقتی از انجمن کدهارو کپی میکنم این خطارو میده بهم و کدهارو درست کامپایل نمیکنه.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در ۱ ساعت قبل، rezac گفته است :

 

درست کپی نمیکنید لابد. تست کردم موردی نبود...

لینک ارسال
به اشتراک گذاری در سایت های دیگر

Dim i As Intent

i.Initialize("", "")
i.SetComponent("com.android.settings/.Settings") باز کردن مستقیم تنظیمات

StartActivity(i)

=========================
باز کردن یک مسیر داخل تنظیمات
i.SetComponent("com.android.settings/.Settings.deviceinfo.status")
=======================

 

گزینه بیشتر در لینک زیر

Settings screen Actions using Intent | B4X Community - Android, iOS, desktop, server and IoT programming tools

 

موفق باشید

لینک ارسال
به اشتراک گذاری در سایت های دیگر

یه مشکلی هست فقط.

این سایت کد مربوط به دسترسی به قسمت برنامه های حفاظت شده رو نداره

لینک ارسال
به اشتراک گذاری در سایت های دیگر

جهت تکمیل تاپیک 

لیست کامل (تا جایی که تونستم پیدا کنم)

نقل قول

Dim DoAction As Intent
DoAction.Initialize("android.settings.LOCATION_SOURCE_SETTINGS", "")
StartActivity(DoAction)

DATA_ROAMING_SETTINGS      
DATE_SETTINGS               
DEVICE_INFO_SETTINGS
DISPLAY_SETTINGS
INPUT_METHOD_SETTINGS 
INPUT_METHOD_SUBTYPE_SETTINGS 
INTERNAL_STORAGE_SETTINGS
LOCALE_SETTINGS 
LOCATION_SOURCE_SETTINGS 
MANAGE_ALL_APPLICATIONS_SETTINGS 
MANAGE_APPLICATIONS_SETTINGS 
MEMORY_CARD_SETTINGS 
NETWORK_OPERATOR_SETTINGS 
NFCSHARING_SETTINGS
NFC_SETTINGS 
PRIVACY_SETTINGS 
QUICK_LAUNCH_SETTINGS
SEARCH_SETTINGS
SECURITY_SETTINGS
SETTINGS
SOUND_SETTINGS
SYNC_SETTINGS 
USER_DICTIONARY_SETTINGS 
WIFI_IP_SETTINGS
WIFI_SETTINGS
WIRELESS_SETTINGS
EXTRA_AUTHORITIES
BLUETOOTH_SETTINGS 
APPLICATION_SETTINGS
application development-related settings
APPLICATION_DEVELOPMENT_SETTINGS
APPLICATION_DETAILS_SETTINGS
APN_SETTINGS 
AIRPLANE_MODE_SETTINGS
ACCESSIBILITY_SETTING

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

نمیشه خودم دقیق بهش آدرس بدم که بره به برنامه های حفاظت شده؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در 34 دقیقه قبل، rezac گفته است :

نمیشه خودم دقیق بهش آدرس بدم که بره به برنامه های حفاظت شده؟

با جاوا آبجکت براتون میگم. ایشالا که مفید باشه.

کد زیر رو به اکتیویتی اضافه کنید.


#If java


import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import anywheresoftware.b4a.BA;
import java.util.Arrays;
import java.util.List;


public static void startProtectedIntent() {
   
        for (final Intent intent : POWERMANAGER_INTENTS) {
            if (isCallable( BA.applicationContext, intent)) {
            BA.applicationContext.startActivity(intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)); 
                break;
            }
      }
}

public static boolean isCallable(Context context, Intent intent) {
    List<ResolveInfo> list = context.getPackageManager().queryIntentActivities(intent,
            PackageManager.MATCH_DEFAULT_ONLY);
    return list.size() > 0;
}

public static List<Intent> POWERMANAGER_INTENTS = Arrays.asList(
    new Intent().setComponent(new ComponentName("com.miui.securitycenter", "com.miui.permcenter.autostart.AutoStartManagementActivity")),
    new Intent().setComponent(new ComponentName("com.letv.android.letvsafe", "com.letv.android.letvsafe.AutobootManageActivity")),
    new Intent().setComponent(new ComponentName("com.huawei.systemmanager", "com.huawei.systemmanager.optimize.process.ProtectActivity")),
    new Intent().setComponent(new ComponentName("com.huawei.systemmanager", "com.huawei.systemmanager.appcontrol.activity.StartupAppControlActivity")),
    new Intent().setComponent(new ComponentName("com.coloros.safecenter", "com.coloros.safecenter.permission.startup.StartupAppListActivity")),
    new Intent().setComponent(new ComponentName("com.coloros.safecenter", "com.coloros.safecenter.startupapp.StartupAppListActivity")),
    new Intent().setComponent(new ComponentName("com.oppo.safe", "com.oppo.safe.permission.startup.StartupAppListActivity")),
    new Intent().setComponent(new ComponentName("com.iqoo.secure", "com.iqoo.secure.ui.phoneoptimize.AddWhiteListActivity")),
    new Intent().setComponent(new ComponentName("com.iqoo.secure", "com.iqoo.secure.ui.phoneoptimize.BgStartUpManager")),
    new Intent().setComponent(new ComponentName("com.vivo.permissionmanager", "com.vivo.permissionmanager.activity.BgStartUpManagerActivity")),
    new Intent().setComponent(new ComponentName("com.samsung.android.lool", "com.samsung.android.sm.ui.battery.BatteryActivity")),
    new Intent().setComponent(new ComponentName("com.htc.pitroad", "com.htc.pitroad.landingpage.activity.LandingPageActivity")),
    new Intent().setComponent(new ComponentName("com.asus.mobilemanager", "com.asus.mobilemanager.MainActivity"))
);
#End If

و به صورت زیر استفاده کنید. با نوشتن متد زیر اگه اینتنتی پیدا بشه اونو استارت میکنه و به تنظیمات مربوطه میره.

 Dim jo As JavaObject
	jo.InitializeContext.RunMethod("startProtectedIntent",Null)

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

ممنون از هردو عزیز بزرگوار.

دم هردوتاتون گرمyes♥

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

مهمان
این موضوع برای عدم ارسال قفل گردیده است.
  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...