دسترسی
گزارشسوال
سلام بر شما دوستان گرامی. می خواستم در برنامه م کدی رو بنویسم که وقتی کاربر گوشی ش رو به شارژ وصل کرد برنامه به صورت اتوماتیک برنامه های اضافی رو متوقف کنه تا گوشی زور تر شارژ بشه .ممنون
در حال پیشرفت
0
اندروید - android
3 سال
16 پاسخ
2877 بازدید
1
پاسخ ها ( ۱۶ )
لطفا علت گزارش خود را در رابطه با این پاسخ بنویسید.
گزارش لغوسلام و درود
برای اینکار باید با Broadcastreciver کار کنید و تنها نوع فیلتر را تغییر دهید آموزشی شبیه به این در سایت وجود دارد.
موفق باشید.
لطفا علت گزارش خود را در رابطه با این پاسخ بنویسید.
گزارش لغوسلام آقای جعفری پور بسیار ممنون از راهنمایی ها یتان .می شه لطف کنید و بیشتر توضیح بدید .این برنامه خیلی مهمه . بسیار ممنون
لطفا علت گزارش خود را در رابطه با این پاسخ بنویسید.
گزارش لغوسلام کاربر گرامی از آموزش زیر استفاده کنید.
http://programchi.ir/2017/07/31/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%d8%aa%d8%b4%d8%ae%db%8c%d8%b5-%d8%a7%d8%aa%d8%b5%d8%a7%d9%84-%d8%b4%d8%a7%d8%b1%da%98%d8%b1-%d8%a8%d9%87-%da%af%d9%88%d8%b4%db%8c-%d8%af%d8%b1-%d8%a8%d8%b1%d9%86%d8%a7/
موفق باشید.
لطفا علت گزارش خود را در رابطه با این پاسخ بنویسید.
گزارش لغوسلام آقای جعفری پور بسیار ممنون از راهنمایی ها یتان. الان من برنامه م می فهمه که کی شارژ وصل شد و کی جدا می شه از گوشی . حال باید برای اینکه برنامه م بصورت اتوماتیک برنامه های اضافی رو متوقف کنه. از آموزش تو سایت استفاده کردم. اما بلد نیستم .که به برنامه م بفهمونم که وقتی شارژ وصل شد اتوماتیک برنامه های اضافی رو متوقف کنه. ممنون
لطفا علت گزارش خود را در رابطه با این پاسخ بنویسید.
گزارش لغوسلام آموزش بستن برنامه های باز رو قرار دادم کافی است کد رو در بخش Broadcast خودتان قرار دهید در صورتی که سوالی داشتید بپرسید.
موفق باشید.
لطفا علت گزارش خود را در رابطه با این پاسخ بنویسید.
گزارش لغوسلام آقای جعفری پور. ممنون از راهنمایی ها یتان . کد های اموزش برنامه های باز رو درست وارد کردم بعد اگه مش کلی هم دارد ممنون میشم بهم بگید
کلاس main activity
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
List packages;
PackageManager pm;
pm = getPackageManager();
//get a list of installed apps.
packages = pm.getInstalledApplications(0);
ActivityManager mActivityManager = (ActivityManager)this.getSystemService(Context.ACTIVITY_SERVICE);
String myPackage = getApplicationContext().getPackageName();
for (ApplicationInfo packageInfo : packages) {
if((packageInfo.flags & ApplicationInfo.FLAG_SYSTEM)==1)continue;
if(packageInfo.packageName.equals(myPackage)) continue;
mActivityManager.killBackgroundProcesses(packageInfo.packageName);
}
ActivityManager actvityManager = (ActivityManager)
getApplicationContext().getSystemService( getApplicationContext().ACTIVITY_SERVICE );
List procInfos = actvityManager.getRunningAppProcesses();
for(int pnum = 0; pnum < procInfos.size(); pnum++)
{
if((procInfos.get(pnum)).processName.contains("android")||(procInfos.get(pnum)).processName.contains("system")||
(procInfos.get(pnum)).processName.contains("huawei")||(procInfos.get(pnum)).processName.contains("adil"))
{
Toast.makeText(getApplicationContext(), "system apps", Toast.LENGTH_SHORT).show();
}
else
{
actvityManager.killBackgroundProcesses(procInfos.get(pnum).processName);
Toast.makeText(getApplicationContext(), "killed "+procInfos.get(pnum).processName, Toast.LENGTH_SHORT).show();
}
}
PowerConnectionReceiver receiver = new PowerConnectionReceiver();
IntentFilter ifilter = new IntentFilter();
ifilter.addAction(Intent.ACTION_POWER_CONNECTED);
ifilter.addAction(Intent.ACTION_POWER_DISCONNECTED);
registerReceiver(receiver, ifilter);
}
}
کلاس PowerConnectionReceiver
public class PowerConnectionReceiver extends BroadcastReceiver {
public PowerConnectionReceiver() {
}
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(Intent.ACTION_POWER_CONNECTED)) {
Toast.makeText(context, "The device is charging", Toast.LENGTH_SHORT).show();
} else {
intent.getAction().equals(Intent.ACTION_POWER_DISCONNECTED);
Toast.makeText(context, "The device is not charging", Toast.LENGTH_SHORT).show();
}
}}
ممنون
لطفا علت گزارش خود را در رابطه با این پاسخ بنویسید.
گزارش لغوسلام شما باید کدی که در main قرار دادید باید در BroadCast قرار دهید.
موفق باشید مشکلی در کد مشاهده نشد در صورتی که خطای دارید log را قرار دهید.
لطفا علت گزارش خود را در رابطه با این پاسخ بنویسید.
گزارش لغوسلام بر شما آقای جعفری پور. من کد main رو که در broadcast قرار می دم خطا می ده. چطوری می شه از log استفاده کرد. ممنون
لطفا علت گزارش خود را در رابطه با این پاسخ بنویسید.
گزارش لغواز بخش AndroidMonitor می تونید خطا رو ببیند در چه خطی هست.
لطفا علت گزارش خود را در رابطه با این پاسخ بنویسید.
گزارش لغواین کد ها رو خطا می ده
getPackageManager
getSystemService
getApplicationContext
چی کار کنم . ممنون
لطفا علت گزارش خود را در رابطه با این پاسخ بنویسید.
گزارش لغواگر در کلاس اصلی استفاده می کنید از خود اکتیویتون instance بگیرید ولی اگر در کلاس های مثل Broadcast استفاده می کنید از context یه instance بگیرید موفق باشید.
لطفا علت گزارش خود را در رابطه با این پاسخ بنویسید.
گزارش لغوسلام آقای جعفری پور. می شه در رابطه با instance یه توضیح می دید . ممنون
لطفا علت گزارش خود را در رابطه با این پاسخ بنویسید.
گزارش لغوinstance به معنی گرفتن یک نمونه از یک متغیر است.
لطفا علت گزارش خود را در رابطه با این پاسخ بنویسید.
گزارش لغوسلام آقای جعفری پور. چطوری می تونم یهinstance بگیرم از context ممنون .
لطفا علت گزارش خود را در رابطه با این پاسخ بنویسید.
گزارش لغوبه جای context باید بنویسید MainActivity.this
یعنی یا باید خود context نوشته بشود یا نام اکتیویتی که شما دارید در آن کد می نویسید.
موفق باشید.
لطفا علت گزارش خود را در رابطه با این پاسخ بنویسید.
گزارش لغوبعدش ای کد ها رو خطا نمی ده
getPackageManager
getSystemService
getApplicationContext
البته من به جای main activity .this
باید بنویسم Broadcast .this چون این کد ها رو تو این کلاس می ذارم .ممنون