2017-12-09 33 views
0

私は、デバイスがロック解除されるたびに起動するアプリを作りたいと思っています。User_Presentの後にアプリを起動する - 動作しない

私はAndroidには新しく、何十件もの回答を読んだことがありますが、ドキュメントにはあまりにも多くの可動部品があり、トラブルシューティングに苦労しています。ここで

これはこれは私のUnlockReceiver.javaクラスです

<receiver android:name="UnlockReceiver"> 
    <intent-filter> 
     <action android:name="android.intent.action.USER_PRESENT" /> 
    </intent-filter> 
</receiver> 

私のAndroidManifest.xmlにである

構造

app 
- manifests 
    -- AndroidManifest.xml 
- java 
    -- DisplayMessageActivity.java 
    -- MainActivity.java 
- res 
- UnlockReceiver.java 

...私が持っているものである

import android.content.BroadcastReceiver; 
import android.content.Context; 
import android.content.Intent; 
import com.xywebsolutions.myapplication.MainActivity; 

public class UnlockReceiver extends BroadcastReceiver { 
    @Override 
    public void onReceive(Context context, Intent intent) { 
     Intent myIntent = new Intent(context, MainActivity.class); 
     myIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
     context.startActivity(myIntent); 
    } 
} 

私は間違っている?それは私の構造ですか?受信者を追加する前に権限を追加する必要がありますか?

答えて

0

2つの変更を試みることができるあなたのケースのためにonSaveInstanceState()機能

を使用して再度起動したときに、その位置から開始して、この問題が修正されましたことができます。

1 ) "UnlockReceiverは、" Javaのフォルダに移動さ​​れた

app 
- manifests 
    -- AndroidManifest.xml 
- java 
    -- DisplayMessageActivity.java 
    -- MainActivity.java 
    -- UnlockReceiver.java 
- res 

2)マニフェストの受信機がアンドロイドが必要:エクスポート= "true" を ...

<receiver android:name="UnlockReceiver" android:exported="true"> 
    <intent-filter> 
     <action android:name="android.intent.action.USER_PRESENT" /> 
    </intent-filter> 
</receiver> 
0

ビデオを開始/停止するためのブロードキャストは必要ありません。 アクティビティのライフサイクルのonResume()を使用して動画を開始できます。 onResumeは、アクティビティがユーザに見えるようになると呼び出されます。動画を一時停止するアクティビティの onPause()また、現在の再生位置を保存し、活動はあなたがこの

@Override 
    public void onReceive(Context context, Intent intent) { 
     //start activity 
     Intent i = new Intent(); 
     i.setClassName("com.test", "com.test.MainActivity"); 
     i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
     context.startActivity(i); 
    } 
+0

問題は、ビデオを開始されていません。私はロック解除時にアプリを開きたい。私は私の質問を明確にしました。 –

+0

@JeremiahS編集済みの回答を見る –

関連する問題