2017-03-24 5 views
0

Meine App erfolgreich Auto Start in einigen Geräten wie Sony Xperia, OnePlus 3, Lyf, Micromax. Aber nicht in Xiaomi. Dann habe ich auf StackOverflow gefunden, dass ich Autostart-Berechtigungen für meine App in Xiaomi Eingebauter Startup-Manager geben muss. Ich habe das auch getan, aber meine App startet nicht automatisch. Hier ist die Manifest-Datei:So aktivieren Sie Autostart für meine App in Xiaomi-Geräten

<?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

Ich habe diese Antworten auch überprüft, kann sie aber aufgrund meines geringeren Rufs nicht kommentieren [link] (http://stackoverflow.com/questions/34149198/how-to-enable-auto-start-for-my-app- in-xiaomi-programmatisch ) –

Antwort

2

Es ist nicht neu auf Xiaomi weil Xiaomi eine Funktion namens App die Berechtigung hat, in dem ein Benutzer zu ermöglichen, hat der App automatisch zu starten (Service). In Ihrem Fall wird der Service nicht aufgerufen, sobald es vom Stapel beendet ist.

Go wie diese und lassen Sie Ihre App automatisch zu starten:

Settings > permissions > Autostart

Code:

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

Verwenden Sie den obigen Code Autostart-Aktivität zu starten.

+0

Ich sagte das in meiner Frage, dass ich das getan habe, aber immer noch die App nicht neu gestartet. Siehe meine Frage und Kommentar unter der Frage. –

+0

Und wenn es notwendig ist, diesen Code noch hinzuzufügen, nachdem Erlaubnis zum Autostart gegeben wurde, dann führe mich, wo ich das einschließen sollte. –

Verwandte Themen