2017-11-17 16 views
0

apkファイルを内部ストレージに正常にダウンロードしました。Androidのインストール方法apkを内蔵ストレージに保存

しかし、実行中に、「アクティビティが見つかりませんでした」というエラーが表示されます。

ここにapkファイルを実行するコードを示します。

// Old version 
if(Build.VERSION.SDK_INT <= Build.VERSION_CODES.N) 
{ 
File apkFile = new File(this.pathToFile); 
    if(apkFile.exists()) 
    { 
      Uri apkURI = Uri.fromFile(apkFile); 
      Intent intent = new Intent(Intent.ACTION_VIEW); 
      intent.setData(apkURI); 
      intent.setType("application/vnd.android.package-archive"); 
      intent.putExtra(Intent.EXTRA_NOT_UNKNOWN_SOURCE, false); 
      intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
      context.startActivity(intent); 
    } 
} 
+0

'私のファイルパスは実際には/ data/com.me.appName/files/update.apk'です。それは不可能な道です。根っこのデバイスでのみ作成されている可能性があります。 – greenapps

+0

'私のapkファイルを内部ストレージに正常にダウンロードしました。あなたはそれをどうやって管理しましたか?その不可能な道を考える。 – greenapps

+0

あなたは 'this.pathToFile'について話していましたか? – greenapps

答えて

0

コンテンツスキームを使用してapkをインストールすることはできません。

あなたはAndroidにapkファイルへのファイルパスを提供する必要があります。

FileProviderを使用しないでください。

さらに、getExternalStorageDirectory()またはgetFilesDir()をダウンロードしてください。

+0

私はgetFilesDir()にダウンロードします。 ファイルapkFile =新しいファイル(context.getFilesDir()。getAbsolutePath()+ "/app.apk"); – mocode10

+0

はい私は知っています。だからそれは私が言ったことではありません。 – greenapps

+0

getFilesDir()に対してExternalStorageを選択する理由はありますか? getFilesDirを選択した理由は、すべてのデバイスが外部記憶メディアを持っているわけではないためです。 – mocode10

関連する問題