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

تشخیص خروج کاربر از نرم افزار


mehrad

سوال

با سلام خدمت دوستان عزیز 

 

چطور میتونیم تشخیص بدیم کاربر از نرم افزار خارج شده ؟ 

منظورم جز keypress هست 

مثلا اگه با دکمه home هم خارج شد بدونیم  

 

 

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

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

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

با استفاده از کلاس  Application.ActivityLifecycleCallbacks میشه فهمید که برنامه اکتیویتی فعال داره یا خیر. که البته باید تبدیل به بیسیک بشه.

public static class App extends Application implements Application.ActivityLifecycleCallbacks{
   @Override
   public void onCreate() {
      super.onCreate();
	  registerActivityLifecycleCallbacks(this);
	      
	 }
	
	private void runSub(String sub){
	
	}
	
	
	@Override
    public void onActivityCreated(Activity activity, Bundle savedInstanceState) {
 		 
	 }

    @Override
    public void onActivityStarted(Activity activity) {
    }

    @Override
    public void onActivityResumed(Activity activity) {
    }

    @Override
    public void onActivityPaused(Activity activity) {
    }

    @Override
    public void onActivityStopped(Activity activity) {

    }

    @Override
    public void onActivitySaveInstanceState(Activity activity, Bundle outState) {

    }

    @Override
    public void onActivityDestroyed(Activity activity) {
   
    }
}

 

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

بسیار متشکرم ، چطور تبدیل به بیسیک کنیم؟

در در 1397/12/14, 21:26:02، محمدرضا شاهپیری گفته است :

با استفاده از کلاس  Application.ActivityLifecycleCallbacks میشه فهمید که برنامه اکتیویتی فعال داره یا خیر. که البته باید تبدیل به بیسیک بشه.


public static class App extends Application implements Application.ActivityLifecycleCallbacks{
   @Override
   public void onCreate() {
      super.onCreate();
	  registerActivityLifecycleCallbacks(this);
	      
	 }
	
	private void runSub(String sub){
	
	}
	
	
	@Override
    public void onActivityCreated(Activity activity, Bundle savedInstanceState) {
 		 
	 }

    @Override
    public void onActivityStarted(Activity activity) {
    }

    @Override
    public void onActivityResumed(Activity activity) {
    }

    @Override
    public void onActivityPaused(Activity activity) {
    }

    @Override
    public void onActivityStopped(Activity activity) {

    }

    @Override
    public void onActivitySaveInstanceState(Activity activity, Bundle outState) {

    }

    @Override
    public void onActivityDestroyed(Activity activity) {
   
    }
}

 

بسیار متشکرم ، چطور تبدیل به بیسیک کنیم؟

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

در 5 ساعت قبل، mehrad گفته است :

بسیار متشکرم ، چطور تبدیل به بیسیک کنیم؟

بسیار متشکرم ، چطور تبدیل به بیسیک کنیم؟

یک کلاس به اسم Myapp توی پروژه ایجاد کنید که کدهاش به صورت زیر باشه.

Sub Class_Globals
End Sub
Public Sub Initialize
	
End Sub

Private Sub getAllActs As List
	Dim l As List
	l.Initialize
	l.Add(Main)
	l.Add(act2)
	l.Add(act3)
	Return l
End Sub

Private Sub checkappIsOpen(isalive As Boolean)
	If isalive Then
		Log("برنامه باز است")
	Else
		Log("برنامه کامل بسته شده است")
	End If
End Sub
Public Sub OnPause	
	Dim actslist As List=getAllActs
 Dim isalive As Boolean=False
	For Each act As Object In actslist
 	If IsPaused (act)=False Then
		isalive=True
     End If
    Next
	checkappIsOpen(isalive)
End Sub

#if java
import android.app.Application;
import android.app.Activity;
import android.os.Bundle;
import java.lang.reflect.*;
import java.lang.*;
import android.os.Handler;
public static class App extends Application implements Application.ActivityLifecycleCallbacks{
   @Override
   public void onCreate() {
      super.onCreate();
	  registerActivityLifecycleCallbacks(this);
	 }
	private void runSub(String sub){
	 try {
	    	 myapp.class.getMethod(sub,null).invoke(new myapp());
        } catch (Exception e) {
            BA.Log( e.toString());
        } 
	}
	@Override
    public void onActivityCreated(Activity activity, Bundle savedInstanceState) {
    }

    @Override
    public void onActivityStarted(Activity activity) {
    }

    @Override
    public void onActivityResumed(Activity activity) {
      	
    }

    @Override
    public void onActivityPaused(Activity activity) {
	new Handler().postDelayed(new Runnable() {
			
			@Override
			public void run() {
				 runSub("_OnPause".toLowerCase());		
			}
		}, 200);
	
   }

    @Override
    public void onActivityStopped(Activity activity) {

    }

    @Override
    public void onActivitySaveInstanceState(Activity activity, Bundle outState) {

    }

    @Override
    public void onActivityDestroyed(Activity activity) {
   
    }
}
#End If

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

SetApplicationAttribute(android:name, ".myapp$App")

تو تابع getAllActs همونجوری که مشخصه لیست همه اکتیویتیهاست که باید همه رو به لیست اضافه کنید.

و همچنین تابع checkappIsOpen تابعی هست که مشخص میکنه برنامه باز هست یا به کلی بسته شده.

موفق باشید.

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

در 5 ساعت قبل، محمدرضا شاهپیری گفته است :

یک کلاس به اسم Myapp توی پروژه ایجاد کنید که کدهاش به صورت زیر باشه.


Sub Class_Globals
End Sub
Public Sub Initialize
	
End Sub

Private Sub getAllActs As List
	Dim l As List
	l.Initialize
	l.Add(Main)
	l.Add(act2)
	l.Add(act3)
	Return l
End Sub

Private Sub checkappIsOpen(isalive As Boolean)
	If isalive Then
		Log("برنامه باز است")
	Else
		Log("برنامه کامل بسته شده است")
	End If
End Sub
Public Sub OnPause	
	Dim actslist As List=getAllActs
 Dim isalive As Boolean=False
	For Each act As Object In actslist
 	If IsPaused (act)=False Then
		isalive=True
     End If
    Next
	checkappIsOpen(isalive)
End Sub

#if java
import android.app.Application;
import android.app.Activity;
import android.os.Bundle;
import java.lang.reflect.*;
import java.lang.*;
import android.os.Handler;
public static class App extends Application implements Application.ActivityLifecycleCallbacks{
   @Override
   public void onCreate() {
      super.onCreate();
	  registerActivityLifecycleCallbacks(this);
	 }
	private void runSub(String sub){
	 try {
	    	 myapp.class.getMethod(sub,null).invoke(new myapp());
        } catch (Exception e) {
            BA.Log( e.toString());
        } 
	}
	@Override
    public void onActivityCreated(Activity activity, Bundle savedInstanceState) {
    }

    @Override
    public void onActivityStarted(Activity activity) {
    }

    @Override
    public void onActivityResumed(Activity activity) {
      	
    }

    @Override
    public void onActivityPaused(Activity activity) {
	new Handler().postDelayed(new Runnable() {
			
			@Override
			public void run() {
				 runSub("_OnPause".toLowerCase());		
			}
		}, 200);
	
   }

    @Override
    public void onActivityStopped(Activity activity) {

    }

    @Override
    public void onActivitySaveInstanceState(Activity activity, Bundle outState) {

    }

    @Override
    public void onActivityDestroyed(Activity activity) {
   
    }
}
#End If

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


SetApplicationAttribute(android:name, ".myapp$App")

تو تابع getAllActs همونجوری که مشخصه لیست همه اکتیویتیهاست که باید همه رو به لیست اضافه کنید.

و همچنین تابع checkappIsOpen تابعی هست که مشخص میکنه برنامه باز هست یا به کلی بسته شده.

موفق باشید.

آغا دمت گرم خدایی 

من هزینشو میپردازم فقط اگه میشه یه پروژه b4a درست کنین اینارو بریزین تو کامل کار کنه 

شماره حساب بدین هر چقدره هزینش بپردازم 

خیلی متشکرم 

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

در 8 ساعت قبل، mehrad گفته است :

 

در خدمت هستیم دوست عزیز. توی تلگرام خصوصی بدید آیدی توی امضا هست.

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

در 4 ساعت قبل، محمدرضا شاهپیری گفته است :

در خدمت هستیم دوست عزیز. توی تلگرام خصوصی بدید آیدی توی امضا هست.

امضا کجاست اینجا بگین آیدیتونو

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

 

در 41 دقیقه قبل، basic 4 android گفته است :

uppppppppppp

خدمت شما. لطفا از اسپم دادن توی پستها خود داری کنید. از گزینه به روزرسانی  برای بالا آوردن تاپیک استفاده کنید.

exitdetect.zip

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

بایگانی شده

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

  • کاربران آنلاین در این صفحه   0 کاربر

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