2017-03-24 1 views
0

내 앱이 Sony Xperia, OnePlus 3, Lyf, Micromax와 같은 일부 기기에서 자동으로 시작됩니다. 그러나 Xiaomi에서는 그렇지 않습니다. 그런 다음 Xiaomi 기본 제공 시작 관리자에서 내 응용 프로그램에 자동 시작 권한을 부여해야한다는 StackOverflow를 발견했습니다. 나는 또한 그것을했다. 그러나 나의 app는 자동 시작하지 않는다. 샤오 미는 사용자가 응용 프로그램이 자동으로 시작 할 수 있도록하는 기능이라는 응용 프로그램 권한, (서비스)을 가지고 있기 때문에 그것은 샤오 미의 새로운되지 않습니다Xiaomi 기기에서 내 앱의 자동 시작을 사용 설정하는 방법

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.missingcell.trackerapp" 
    android:installLocation="internalOnly"> 

    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> 

    <uses-permission android:name="android.permission.READ_CALL_LOG" /> 
    <uses-permission android:name="android.permission.READ_CONTACTS" /> 
    <uses-permission android:name="android.permission.READ_LOGS" /> 

    <uses-permission android:name="android.permission.READ_SMS" /> 
    <uses-permission android:name="android.permission.RECEIVE_SMS" /> 

    <uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" /> 
    <uses-permission android:name="android.permission.READ_PHONE_STATE" /> 

    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 
    <uses-permission android:name="android.permission.INTERNET" /> 
    <uses-permission android:name="android.permission.GET_ACCOUNTS" /> 
    <uses-permission android:name="android.permission.USE_CREDENTIALS" /> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 

    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> 
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
    <uses-permission android:name="android.permission.WRITE_SETTINGS" /> 

    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" /> 

    <uses-permission android:name="android.permission.WAKE_LOCK" /> 
    <uses-permission android:name="com.google.android.gms.permission.ACTIVITY_RECOGNITION" /> 

    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /> 
    <uses-permission android:name="android.permission.RECORD_AUDIO" /> 

    <!-- for card.io card scanning --> 
    <uses-permission android:name="android.permission.CAMERA" /> 
    <uses-permission android:name="android.permission.VIBRATE" /> 

    <uses-feature 
     android:name="android.hardware.camera" 
     android:required="false" /> 
    <uses-feature 
     android:name="android.hardware.camera.autofocus" 
     android:required="false" /> 

    <application 
     android:name="com.missingcell.trackerapp.AppController" 
     android:allowBackup="true" 
     android:icon="@mipmap/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme"> 

     <meta-data 
      android:name="com.google.android.maps.v2.API_KEY" 
      android:value="AIzaSyApCFp8fEsll0RO114zLWKQQ6EexTM488c" /> 

     <meta-data 
      android:name="com.google.android.gms.version" 
      android:value="@integer/google_play_services_version" /> 

     <activity 
      android:name="com.missingcell.trackerapp.activities.Login" 
      android:label="@string/app_name"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 
       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 

     <activity 
      android:name="com.missingcell.trackerapp.activities.ChildDetails" 
      android:label="@string/title_activity_second"> 
      <meta-data 
       android:name="android.support.PARENT_ACTIVITY" 
       android:value="com.missingcell.trackerapp.MainActivity" /> 
     </activity> 

     <service 
      android:name="com.paypal.android.sdk.payments.PayPalService" 
      android:exported="false" /> 

     <activity android:name="com.paypal.android.sdk.payments.PaymentActivity" /> 
     <activity android:name="com.paypal.android.sdk.payments.LoginActivity" /> 
     <activity android:name="com.paypal.android.sdk.payments.PaymentMethodActivity" /> 
     <activity android:name="com.paypal.android.sdk.payments.PaymentConfirmActivity" /> 
     <activity android:name="com.paypal.android.sdk.payments.PayPalFuturePaymentActivity" /> 
     <activity android:name="com.paypal.android.sdk.payments.FuturePaymentConsentActivity" /> 
     <activity android:name="com.paypal.android.sdk.payments.FuturePaymentInfoActivity" /> 
     <activity android:name="com.paypal.android.sdk.payments.PayPalProfileSharingActivity" /> 
     <activity android:name="com.paypal.android.sdk.payments.ProfileSharingConsentActivity" /> 

     <activity 
      android:name="io.card.payment.CardIOActivity" 
      android:configChanges="keyboardHidden|orientation" /> 
     <activity android:name="io.card.payment.DataEntryActivity" /> 


     <activity android:name="com.missingcell.trackerapp.MainActivity"></activity> 
     <activity android:name="com.missingcell.trackerapp.activities.RegisterActivity"></activity> 
     <activity android:name="com.missingcell.trackerapp.activities.BuyPro"></activity> 

     <receiver android:name="com.missingcell.trackerapp.call.AlarmReceiver"> 
      <intent-filter android:priority="9991000"> 
       <action android:name="android.intent.action.NEW_OUTGOING_CALL" /> 
       <action android:name="android.intent.action.PHONE_STATE" /> 
       <action android:name="in.deepakpandey.AlarmReceiver"></action> 
      </intent-filter> 
     </receiver> 

     <receiver android:name="com.missingcell.trackerapp.sms.SMSReceiver"> 
      <intent-filter android:priority="9991000"> 
       <action android:name="android.provider.Telephony.SMS_RECEIVED" /> 
       <action android:name="android.provider.Telephony.SMS_SENT" /> 
       <action android:name="in.deepakpandey.SMSReceiver" /> 
      </intent-filter> 
     </receiver> 

     <receiver 
      android:name=".gps.GpsTrackerBootReceiver" 
      android:enabled="true" 
      android:permission="android.permission.RECEIVE_BOOT_COMPLETED"> 
      <intent-filter> 
       <action android:name="android.intent.action.BOOT_COMPLETED" /> 
       <action android:name="android.intent.action.QUICKBOOT_POWERON" /> 

       <category android:name="android.intent.category.DEFAULT" /> 
      </intent-filter> 
     </receiver> 

     <receiver android:name="com.missingcell.trackerapp.gps.GPSReciver"> 
      <intent-filter> 
       <action android:name="android.intent.action.BOOT_COMPLETED" /> 
       <action android:name="android.intent.action.QUICKBOOT_POWERON" /> 
      </intent-filter> 
     </receiver> 

     <receiver 
      android:name="com.missingcell.trackerapp.utils.APIReciver" 
      android:enabled="true" 
      android:permission="android.permission.RECEIVE_BOOT_COMPLETED"> 
      <intent-filter android:priority="9991000"> 
       <action android:name="android.intent.action.BOOT_COMPLETED" /> 
       <action android:name="android.intent.action.QUICKBOOT_POWERON" /> 

       <category android:name="android.intent.category.DEFAULT" /> 
      </intent-filter> 
     </receiver> 

     <receiver android:name="com.missingcell.trackerapp.utils.NotificationReceiver"> 
      <intent-filter> 
       <action android:name="android.intent.action.BOOT_COMPLETED" /> 
       <action android:name="android.intent.action.QUICKBOOT_POWERON" /> 
      </intent-filter> 
     </receiver> 

     <receiver 
      android:name="com.missingcell.trackerapp.utils.DemoDeviceAdmin" 
      android:permission="android.permission.BIND_DEVICE_ADMIN"> 
      <intent-filter> 
       <action android:name="android.app.action.DEVICE_ADMIN_ENABLED" /> 
      </intent-filter> 
      <!-- This is required this receiver to become device admin component. --> 
      <meta-data 
       android:name="android.app.device_admin" 
       android:resource="@xml/device_admin" /> 
     </receiver> 

     <service 
      android:name="com.tuenti.smsradar.SmsRadarService" 
      android:exported="false" 
      android:label="@string/app_name" /> 

    </application> 

</manifest> 
+0

나는 또한 이러한 해답을 확인했지만 저의 평판 때문에 언급 할 수 없습니다 [link] (http://stackoverflow.com/questions/34149198/how-to-enable-auto-start-for-my-app- in-xiaomi-programmatically ) –

답변

2

다음은 매니페스트 파일입니다. 귀하의 경우 Service은 일단 스택에서 종료되면 호출되지 않습니다.

이 같은 이동 및 앱이 자동으로 시작 할 수 있습니다 :

Settings > permissions > Autostart

코드 :

if (Build.BRAND.equalsIgnoreCase("xiaomi")) { 
       Intent intent = new Intent(); 
       intent.setComponent(new ComponentName("com.miui.securitycenter", "com.miui.permcenter.autostart.AutoStartManagementActivity")); 
       startActivity(intent); 
      } 

를 사용하여 위의 코드를 자동 시작 활동을 시작합니다.

+0

나는 내 질문에 내가 그 짓을했지만 여전히 응용 프로그램이 다시 시작하지 않는다고 말했다. 내 질문과 코멘트 아래의 질문을보십시오. –

+0

그리고 자동 시작에 대한 권한을 부여한 후에도이 코드를 추가해야 할 필요가 있다면 어디로 안내해야합니까? –

관련 문제